gpio: use class_groups instead of class_attrs
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 8 Jun 2017 08:12:40 +0000 (10:12 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 Jun 2017 08:41:00 +0000 (10:41 +0200)
The class_attrs pointer is long depreciated, and is about to be finally
removed, so move to use the class_groups pointer instead.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Cc: Alexandre Courbot <gnurou@gmail.com>
Cc: <linux-gpio@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpio/gpiolib-sysfs.c

index 4b44dd97c07f52c34ff9ad35d64e2766c4aeb071..16fe9742597b540ff4d82e869dc13d66326bbd2a 100644 (file)
@@ -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,
 };