Message ID | 20230729005133.1095051-5-dmitry.torokhov@gmail.com |
---|---|
State | Accepted |
Commit | e86253d98547a2229693dc516943439513949003 |
Headers | show |
Series | [01/22] Input: cros_ec_keyb - use device core to create driver-specific device attributes | expand |
> -----Original Message----- > From: Dmitry Torokhov <dmitry.torokhov@gmail.com> > Sent: Samstag, 29. Juli 2023 02:51 > To: linux-input@vger.kernel.org > Cc: linux-kernel@vger.kernel.org; Greg Kroah-Hartman > <gregkh@linuxfoundation.org>; Hennerich, Michael > <Michael.Hennerich@analog.com> > Subject: [PATCH 05/22] Input: ad7877 - use device core to create driver- > specific device attributes > > 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. > > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Acked-by: Michael Hennerich <michael.hennerich@analog.com> > --- > drivers/input/touchscreen/ad7877.c | 12 +++++------- > 1 file changed, 5 insertions(+), 7 deletions(-) > > diff --git a/drivers/input/touchscreen/ad7877.c > b/drivers/input/touchscreen/ad7877.c > index edb36d663f22..a0598e9c7aff 100644 > --- a/drivers/input/touchscreen/ad7877.c > +++ b/drivers/input/touchscreen/ad7877.c > @@ -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, > }; > -- > 2.41.0.487.g6d72f3e995-goog
diff --git a/drivers/input/touchscreen/ad7877.c b/drivers/input/touchscreen/ad7877.c index edb36d663f22..a0598e9c7aff 100644 --- a/drivers/input/touchscreen/ad7877.c +++ b/drivers/input/touchscreen/ad7877.c @@ -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, };
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. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> --- drivers/input/touchscreen/ad7877.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-)