Input: gpio_keys - convert driver to use dev_groups
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 12 Aug 2019 06:41:23 +0000 (23:41 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 12 Aug 2019 07:02:38 +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 bunch of sysfs files.

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

index 03f4d152f6b7a298ff6ce7390c55e0958dcd664b..1373dc5b0765506ea22a85415084beaa10d96131 100644 (file)
@@ -351,10 +351,7 @@ static struct attribute *gpio_keys_attrs[] = {
        &dev_attr_disabled_switches.attr,
        NULL,
 };
-
-static const struct attribute_group gpio_keys_attr_group = {
-       .attrs = gpio_keys_attrs,
-};
+ATTRIBUTE_GROUPS(gpio_keys);
 
 static void gpio_keys_gpio_report_event(struct gpio_button_data *bdata)
 {
@@ -851,13 +848,6 @@ static int gpio_keys_probe(struct platform_device *pdev)
 
        fwnode_handle_put(child);
 
-       error = devm_device_add_group(dev, &gpio_keys_attr_group);
-       if (error) {
-               dev_err(dev, "Unable to export keys/switches, error: %d\n",
-                       error);
-               return error;
-       }
-
        error = input_register_device(input);
        if (error) {
                dev_err(dev, "Unable to register input device, error: %d\n",
@@ -1026,6 +1016,7 @@ static struct platform_driver gpio_keys_device_driver = {
                .name   = "gpio-keys",
                .pm     = &gpio_keys_pm_ops,
                .of_match_table = gpio_keys_of_match,
+               .dev_groups     = gpio_keys_groups,
        }
 };