Input: axp20x-pek - convert driver to use dev_groups
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 12 Aug 2019 06:42:31 +0000 (23:42 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 12 Aug 2019 07:02:39 +0000 (00:02 -0700)
Drivers now have the option to have the driver core create and remove any
needed sysfs attribute files.  So take advantage of that and do not
register "by hand" a sysfs group of attributes.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/misc/axp20x-pek.c

index debeeae..235925b 100644 (file)
@@ -195,15 +195,12 @@ DEVICE_ATTR(startup, 0644, axp20x_show_attr_startup, axp20x_store_attr_startup);
 DEVICE_ATTR(shutdown, 0644, axp20x_show_attr_shutdown,
            axp20x_store_attr_shutdown);
 
-static struct attribute *axp20x_attributes[] = {
+static struct attribute *axp20x_attrs[] = {
        &dev_attr_startup.attr,
        &dev_attr_shutdown.attr,
        NULL,
 };
-
-static const struct attribute_group axp20x_attribute_group = {
-       .attrs = axp20x_attributes,
-};
+ATTRIBUTE_GROUPS(axp20x);
 
 static irqreturn_t axp20x_pek_irq(int irq, void *pwr)
 {
@@ -356,13 +353,6 @@ static int axp20x_pek_probe(struct platform_device *pdev)
 
        axp20x_pek->info = (struct axp20x_info *)match->driver_data;
 
-       error = devm_device_add_group(&pdev->dev, &axp20x_attribute_group);
-       if (error) {
-               dev_err(&pdev->dev, "Failed to create sysfs attributes: %d\n",
-                       error);
-               return error;
-       }
-
        platform_set_drvdata(pdev, axp20x_pek);
 
        return 0;
@@ -411,6 +401,7 @@ static struct platform_driver axp20x_pek_driver = {
        .driver         = {
                .name           = "axp20x-pek",
                .pm             = &axp20x_pek_pm_ops,
+               .dev_groups     = axp20x_groups,
        },
 };
 module_platform_driver(axp20x_pek_driver);