Input: ad7877 - use device core to create driver-specific device attributes
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Sat, 29 Jul 2023 00:51:14 +0000 (17:51 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 6 Sep 2023 21:23:47 +0000 (14:23 -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.

Acked-by: Michael Hennerich <michael.hennerich@analog.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20230729005133.1095051-5-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/ad7877.c

index edb36d663f22f16aa3f7e8895b47a9fe02a1b4c0..a0598e9c7affcc1689a56d1a5674011769d806e9 100644 (file)
@@ -612,10 +612,11 @@ static umode_t ad7877_attr_is_visible(struct kobject *kobj,
        return mode;
 }
 
-static const struct attribute_group ad7877_attr_group = {
+static const struct attribute_group ad7877_group = {
        .is_visible     = ad7877_attr_is_visible,
        .attrs          = ad7877_attributes,
 };
+__ATTRIBUTE_GROUPS(ad7877);
 
 static void ad7877_setup_ts_def_msg(struct spi_device *spi, struct ad7877 *ts)
 {
@@ -777,10 +778,6 @@ static int ad7877_probe(struct spi_device *spi)
                return err;
        }
 
-       err = devm_device_add_group(&spi->dev, &ad7877_attr_group);
-       if (err)
-               return err;
-
        err = input_register_device(input_dev);
        if (err)
                return err;
@@ -810,8 +807,9 @@ static DEFINE_SIMPLE_DEV_PM_OPS(ad7877_pm, ad7877_suspend, ad7877_resume);
 
 static struct spi_driver ad7877_driver = {
        .driver = {
-               .name   = "ad7877",
-               .pm     = pm_sleep_ptr(&ad7877_pm),
+               .name           = "ad7877",
+               .dev_groups     = ad7877_groups,
+               .pm             = pm_sleep_ptr(&ad7877_pm),
        },
        .probe          = ad7877_probe,
 };