diff options
Diffstat (limited to 'drivers/platform/x86/intel/ifs/sysfs.c')
| -rw-r--r-- | drivers/platform/x86/intel/ifs/sysfs.c | 23 | 
1 files changed, 10 insertions, 13 deletions
diff --git a/drivers/platform/x86/intel/ifs/sysfs.c b/drivers/platform/x86/intel/ifs/sysfs.c index ee636a76b083..01b7502f46b0 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   */ -static DEFINE_SEMAPHORE(ifs_sem); +static DEFINE_SEMAPHORE(ifs_sem, 1);  /*   * The sysfs interface to check additional details of last test @@ -64,7 +64,6 @@ static ssize_t run_test_store(struct device *dev,  			      struct device_attribute *attr,  			      const char *buf, size_t count)  { -	struct ifs_data *ifsd = ifs_get_data(dev);  	unsigned int cpu;  	int rc; @@ -75,10 +74,7 @@ static ssize_t run_test_store(struct device *dev,  	if (down_interruptible(&ifs_sem))  		return -EINTR; -	if (!ifsd->loaded) -		rc = -EPERM; -	else -		rc = do_core_test(cpu, dev); +	rc = do_core_test(cpu, dev);  	up(&ifs_sem); @@ -141,7 +137,7 @@ static ssize_t image_version_show(struct device *dev,  static DEVICE_ATTR_RO(image_version);  /* global scan sysfs attributes */ -static struct attribute *plat_ifs_attrs[] = { +struct attribute *plat_ifs_attrs[] = {  	&dev_attr_details.attr,  	&dev_attr_status.attr,  	&dev_attr_run_test.attr, @@ -150,9 +146,10 @@ static struct attribute *plat_ifs_attrs[] = {  	NULL  }; -ATTRIBUTE_GROUPS(plat_ifs); - -const struct attribute_group **ifs_get_groups(void) -{ -	return plat_ifs_groups; -} +/* global array sysfs attributes */ +struct attribute *plat_ifs_array_attrs[] = { +	&dev_attr_details.attr, +	&dev_attr_status.attr, +	&dev_attr_run_test.attr, +	NULL +};  |