Hi, On 11/7/22 23:53, Jithu Joseph wrote: > IFS test image is unnecessarily loaded during driver initialization. > Drop image loading during ifs_init() and improve module load time. > With this change, user has to load one when starting the tests. > > As a consequence, make ifs_sem static as it is only used within sysfs.c > > Reviewed-by: Tony Luck <tony.luck@xxxxxxxxx> > Suggested-by: Hans de Goede <hdegoede@xxxxxxxxxx> > Signed-off-by: Jithu Joseph <jithu.joseph@xxxxxxxxx> Thanks, patch looks good to me: Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Regards, Hans > --- > drivers/platform/x86/intel/ifs/ifs.h | 2 -- > drivers/platform/x86/intel/ifs/core.c | 6 +----- > drivers/platform/x86/intel/ifs/sysfs.c | 2 +- > 3 files changed, 2 insertions(+), 8 deletions(-) > > diff --git a/drivers/platform/x86/intel/ifs/ifs.h b/drivers/platform/x86/intel/ifs/ifs.h > index 73c8e91cf144..3ff1d9aaeaa9 100644 > --- a/drivers/platform/x86/intel/ifs/ifs.h > +++ b/drivers/platform/x86/intel/ifs/ifs.h > @@ -229,6 +229,4 @@ void ifs_load_firmware(struct device *dev); > int do_core_test(int cpu, struct device *dev); > const struct attribute_group **ifs_get_groups(void); > > -extern struct semaphore ifs_sem; > - > #endif > diff --git a/drivers/platform/x86/intel/ifs/core.c b/drivers/platform/x86/intel/ifs/core.c > index 27204e3d674d..5fb7f655c291 100644 > --- a/drivers/platform/x86/intel/ifs/core.c > +++ b/drivers/platform/x86/intel/ifs/core.c > @@ -51,12 +51,8 @@ static int __init ifs_init(void) > ifs_device.misc.groups = ifs_get_groups(); > > if ((msrval & BIT(ifs_device.data.integrity_cap_bit)) && > - !misc_register(&ifs_device.misc)) { > - down(&ifs_sem); > - ifs_load_firmware(ifs_device.misc.this_device); > - up(&ifs_sem); > + !misc_register(&ifs_device.misc)) > return 0; > - } > > return -ENODEV; > } > diff --git a/drivers/platform/x86/intel/ifs/sysfs.c b/drivers/platform/x86/intel/ifs/sysfs.c > index 37d8380d6fa8..65dd6fea5342 100644 > --- a/drivers/platform/x86/intel/ifs/sysfs.c > +++ b/drivers/platform/x86/intel/ifs/sysfs.c > @@ -13,7 +13,7 @@ > * Protects against simultaneous tests on multiple cores, or > * reloading can file while a test is in progress > */ > -DEFINE_SEMAPHORE(ifs_sem); > +static DEFINE_SEMAPHORE(ifs_sem); > > /* > * The sysfs interface to check additional details of last test