| --- |
| drivers/gpio/gpiolib-sysfs.c | 13 ++++++++----- |
| 1 file changed, 8 insertions(+), 5 deletions(-) |
| |
| --- a/drivers/gpio/gpiolib-sysfs.c |
| +++ b/drivers/gpio/gpiolib-sysfs.c |
| @@ -479,6 +479,7 @@ done: |
| pr_debug("%s: status %d\n", __func__, status); |
| return status ? : len; |
| } |
| +static CLASS_ATTR_WO(export); |
| |
| static ssize_t unexport_store(struct class *class, |
| struct class_attribute *attr, |
| @@ -514,18 +515,20 @@ done: |
| pr_debug("%s: status %d\n", __func__, status); |
| return status ? : len; |
| } |
| +static CLASS_ATTR_WO(unexport); |
| |
| -static struct class_attribute gpio_class_attrs[] = { |
| - __ATTR(export, 0200, NULL, export_store), |
| - __ATTR(unexport, 0200, NULL, unexport_store), |
| - __ATTR_NULL, |
| +static struct attribute *gpio_class_attrs[] = { |
| + &class_attr_export.attr, |
| + &class_attr_unexport.attr, |
| + NULL, |
| }; |
| +ATTRIBUTE_GROUPS(gpio_class); |
| |
| static struct class gpio_class = { |
| .name = "gpio", |
| .owner = THIS_MODULE, |
| |
| - .class_attrs = gpio_class_attrs, |
| + .class_groups = gpio_class_groups, |
| }; |
| |
| |