mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-05 08:26:59 +00:00
platform/x86/intel/tpmi: Don't create devices for disabled features
If some TPMI features are disabled, don't create auxiliary devices. In this way feature drivers will not load. While creating auxiliary devices, call tpmi_read_feature_status() to check feature state and return if the feature is disabled without creating a device. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Link: https://lore.kernel.org/r/20231204221740.3645130-2-srinivas.pandruvada@linux.intel.com Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
parent
7973be9472
commit
b87434f2e6
1 changed files with 13 additions and 1 deletions
|
@ -598,9 +598,21 @@ static int tpmi_create_device(struct intel_tpmi_info *tpmi_info,
|
|||
struct intel_vsec_device *vsec_dev = tpmi_info->vsec_dev;
|
||||
char feature_id_name[TPMI_FEATURE_NAME_LEN];
|
||||
struct intel_vsec_device *feature_vsec_dev;
|
||||
struct tpmi_feature_state feature_state;
|
||||
struct resource *res, *tmp;
|
||||
const char *name;
|
||||
int i;
|
||||
int i, ret;
|
||||
|
||||
ret = tpmi_read_feature_status(tpmi_info, pfs->pfs_header.tpmi_id, &feature_state);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
/*
|
||||
* If not enabled, continue to look at other features in the PFS, so return -EOPNOTSUPP.
|
||||
* This will not cause failure of loading of this driver.
|
||||
*/
|
||||
if (!feature_state.enabled)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
name = intel_tpmi_name(pfs->pfs_header.tpmi_id);
|
||||
if (!name)
|
||||
|
|
Loading…
Reference in a new issue