Input: s6sy761 - use device core to create driver-specific device attributes
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Sat, 29 Jul 2023 00:51:28 +0000 (17:51 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 6 Sep 2023 21:29:03 +0000 (14:29 -0700)
Instead of creating driver-specific device attributes with
devm_device_add_group() have device core do this by setting up dev_groups
pointer in the driver structure.

Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20230729005133.1095051-19-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/s6sy761.c

index 998d99d189111f8e1671a28167b517e8b5157575..149cc2c4925e91f3eb964c1ce193733e69828abd 100644 (file)
@@ -286,10 +286,7 @@ static struct attribute *s6sy761_sysfs_attrs[] = {
        &dev_attr_devid.attr,
        NULL
 };
-
-static struct attribute_group s6sy761_attribute_group = {
-       .attrs = s6sy761_sysfs_attrs
-};
+ATTRIBUTE_GROUPS(s6sy761_sysfs);
 
 static int s6sy761_power_on(struct s6sy761_data *sdata)
 {
@@ -465,10 +462,6 @@ static int s6sy761_probe(struct i2c_client *client)
        if (err)
                return err;
 
-       err = devm_device_add_group(&client->dev, &s6sy761_attribute_group);
-       if (err)
-               return err;
-
        pm_runtime_enable(&client->dev);
 
        return 0;
@@ -535,6 +528,7 @@ MODULE_DEVICE_TABLE(i2c, s6sy761_id);
 static struct i2c_driver s6sy761_driver = {
        .driver = {
                .name = S6SY761_DEV_NAME,
+               .dev_groups = s6sy761_sysfs_groups,
                .of_match_table = of_match_ptr(s6sy761_of_match),
                .pm = pm_ptr(&s6sy761_pm_ops),
        },