Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

platform/x86/intel/tpmi: Modify external interface to get read/write state

Modify the external interface tpmi_get_feature_status() to get read
and write blocked instead of locked and disabled. Since auxiliary device
is not created when disabled, no use of returning disabled state. Also
locked state is not useful as feature driver can't use locked state
in a meaningful way.

Using read and write state, feature driver can decide which operations
to restrict for that feature.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20231204221740.3645130-3-srinivas.pandruvada@linux.intel.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com>

authored by

Srinivas Pandruvada and committed by
Hans de Goede
72dd14d2 b87434f2

+6 -7
+4 -4
drivers/platform/x86/intel/tpmi.c
··· 345 345 return ret; 346 346 } 347 347 348 - int tpmi_get_feature_status(struct auxiliary_device *auxdev, int feature_id, 349 - int *locked, int *disabled) 348 + int tpmi_get_feature_status(struct auxiliary_device *auxdev, 349 + int feature_id, bool *read_blocked, bool *write_blocked) 350 350 { 351 351 struct intel_vsec_device *intel_vsec_dev = dev_to_ivdev(auxdev->dev.parent); 352 352 struct intel_tpmi_info *tpmi_info = auxiliary_get_drvdata(&intel_vsec_dev->auxdev); ··· 357 357 if (ret) 358 358 return ret; 359 359 360 - *locked = feature_state.locked; 361 - *disabled = !feature_state.enabled; 360 + *read_blocked = feature_state.read_blocked; 361 + *write_blocked = feature_state.write_blocked; 362 362 363 363 return 0; 364 364 }
+2 -3
include/linux/intel_tpmi.h
··· 32 32 struct intel_tpmi_plat_info *tpmi_get_platform_data(struct auxiliary_device *auxdev); 33 33 struct resource *tpmi_get_resource_at_index(struct auxiliary_device *auxdev, int index); 34 34 int tpmi_get_resource_count(struct auxiliary_device *auxdev); 35 - 36 - int tpmi_get_feature_status(struct auxiliary_device *auxdev, int feature_id, int *locked, 37 - int *disabled); 35 + int tpmi_get_feature_status(struct auxiliary_device *auxdev, int feature_id, bool *read_blocked, 36 + bool *write_blocked); 38 37 #endif