Input: elan_i2c - convert to use dev_groups
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 2 Aug 2022 17:16:14 +0000 (10:16 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 2 Aug 2022 17:17:10 +0000 (10:17 -0700)
There is no need for a driver to individually add/create device groups,
the driver core will do it automatically for you.  Convert the elan_i2c
driver to use the dev_groups pointer instead of manually calling the
driver core to create the group and have it be cleaned up later on by
the devm core.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20220802162854.3015369-1-gregkh@linuxfoundation.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/mouse/elan_i2c_core.c

index e1758d5..d4eb59b 100644 (file)
@@ -1311,12 +1311,6 @@ static int elan_probe(struct i2c_client *client,
                return error;
        }
 
-       error = devm_device_add_groups(dev, elan_sysfs_groups);
-       if (error) {
-               dev_err(dev, "failed to create sysfs attributes: %d\n", error);
-               return error;
-       }
-
        error = input_register_device(data->input);
        if (error) {
                dev_err(dev, "failed to register input device: %d\n", error);
@@ -1442,6 +1436,7 @@ static struct i2c_driver elan_driver = {
                .acpi_match_table = ACPI_PTR(elan_acpi_id),
                .of_match_table = of_match_ptr(elan_of_match),
                .probe_type = PROBE_PREFER_ASYNCHRONOUS,
+               .dev_groups = elan_sysfs_groups,
        },
        .probe          = elan_probe,
        .id_table       = elan_id,