mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
Input: ad7879 - 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. Acked-by: Michael Hennerich <michael.hennerich@analog.com> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Link: https://lore.kernel.org/r/20230729005133.1095051-6-dmitry.torokhov@gmail.com Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
parent
e86253d985
commit
a32fa4359a
@ -58,9 +58,10 @@ MODULE_DEVICE_TABLE(of, ad7879_i2c_dt_ids);
|
||||
|
||||
static struct i2c_driver ad7879_i2c_driver = {
|
||||
.driver = {
|
||||
.name = "ad7879",
|
||||
.pm = &ad7879_pm_ops,
|
||||
.of_match_table = of_match_ptr(ad7879_i2c_dt_ids),
|
||||
.name = "ad7879",
|
||||
.dev_groups = ad7879_groups,
|
||||
.pm = &ad7879_pm_ops,
|
||||
.of_match_table = of_match_ptr(ad7879_i2c_dt_ids),
|
||||
},
|
||||
.probe = ad7879_i2c_probe,
|
||||
.id_table = ad7879_id,
|
||||
|
@ -56,9 +56,10 @@ MODULE_DEVICE_TABLE(of, ad7879_spi_dt_ids);
|
||||
|
||||
static struct spi_driver ad7879_spi_driver = {
|
||||
.driver = {
|
||||
.name = "ad7879",
|
||||
.pm = &ad7879_pm_ops,
|
||||
.of_match_table = of_match_ptr(ad7879_spi_dt_ids),
|
||||
.name = "ad7879",
|
||||
.dev_groups = ad7879_groups,
|
||||
.pm = &ad7879_pm_ops,
|
||||
.of_match_table = of_match_ptr(ad7879_spi_dt_ids),
|
||||
},
|
||||
.probe = ad7879_spi_probe,
|
||||
};
|
||||
|
@ -391,6 +391,12 @@ static const struct attribute_group ad7879_attr_group = {
|
||||
.attrs = ad7879_attributes,
|
||||
};
|
||||
|
||||
const struct attribute_group *ad7879_groups[] = {
|
||||
&ad7879_attr_group,
|
||||
NULL
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(ad7879_groups);
|
||||
|
||||
#ifdef CONFIG_GPIOLIB
|
||||
static int ad7879_gpio_direction_input(struct gpio_chip *chip,
|
||||
unsigned gpio)
|
||||
@ -612,10 +618,6 @@ int ad7879_probe(struct device *dev, struct regmap *regmap,
|
||||
|
||||
__ad7879_disable(ts);
|
||||
|
||||
err = devm_device_add_group(dev, &ad7879_attr_group);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
err = ad7879_gpio_add(ts);
|
||||
if (err)
|
||||
return err;
|
||||
|
@ -8,11 +8,14 @@
|
||||
#ifndef _AD7879_H_
|
||||
#define _AD7879_H_
|
||||
|
||||
#include <linux/pm.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
struct attribute_group;
|
||||
struct device;
|
||||
struct regmap;
|
||||
|
||||
extern const struct attribute_group *ad7879_groups[];
|
||||
extern const struct dev_pm_ops ad7879_pm_ops;
|
||||
|
||||
int ad7879_probe(struct device *dev, struct regmap *regmap,
|
||||
|
Loading…
Reference in New Issue
Block a user