Input: ads7846 - 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.

Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20230729005133.1095051-7-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
Dmitry Torokhov 2023-07-28 17:51:16 -07:00
parent a32fa4359a
commit e9f6aa10aa

View File

@ -625,15 +625,12 @@ static ssize_t ads7846_disable_store(struct device *dev,
static DEVICE_ATTR(disable, 0664, ads7846_disable_show, ads7846_disable_store);
static struct attribute *ads784x_attributes[] = {
static struct attribute *ads784x_attrs[] = {
&dev_attr_pen_down.attr,
&dev_attr_disable.attr,
NULL,
};
static const struct attribute_group ads784x_attr_group = {
.attrs = ads784x_attributes,
};
ATTRIBUTE_GROUPS(ads784x);
/*--------------------------------------------------------------------------*/
@ -1357,10 +1354,6 @@ static int ads7846_probe(struct spi_device *spi)
else
(void) ads7846_read12_ser(dev, READ_12BIT_SER(vaux));
err = devm_device_add_group(dev, &ads784x_attr_group);
if (err)
return err;
err = input_register_device(input_dev);
if (err)
return err;
@ -1386,9 +1379,10 @@ static void ads7846_remove(struct spi_device *spi)
static struct spi_driver ads7846_driver = {
.driver = {
.name = "ads7846",
.pm = pm_sleep_ptr(&ads7846_pm),
.of_match_table = ads7846_dt_ids,
.name = "ads7846",
.dev_groups = ads784x_groups,
.pm = pm_sleep_ptr(&ads7846_pm),
.of_match_table = ads7846_dt_ids,
},
.probe = ads7846_probe,
.remove = ads7846_remove,