aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJagath Jog J <jagathjog1996@gmail.com>2022-02-23 22:05:22 +0530
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2022-02-26 18:38:00 +0000
commit6450b62cb2f28c4a7faf0241fe43dc490e6ed856 (patch)
tree6d1a43c18d467055232c8a85e9f27e831f8c56da
parenta98d2b029b7c9ca6cf03cb816da3e8c4800882c6 (diff)
downloadiio-6450b62cb2f28c4a7faf0241fe43dc490e6ed856.tar.gz
iio: potentiometer: ds1803: Change to firmware provided data
Using firmware provided data to get the device specific structure if not available fall back to id->driver_data. Signed-off-by: Jagath Jog J <jagathjog1996@gmail.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Link: https://lore.kernel.org/r/20220223163525.13399-5-jagathjog1996@gmail.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
-rw-r--r--drivers/iio/potentiometer/ds1803.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/iio/potentiometer/ds1803.c b/drivers/iio/potentiometer/ds1803.c
index 31ca87dcbf686b..0c274ec75721ef 100644
--- a/drivers/iio/potentiometer/ds1803.c
+++ b/drivers/iio/potentiometer/ds1803.c
@@ -15,6 +15,7 @@
#include <linux/iio/iio.h>
#include <linux/module.h>
#include <linux/mod_devicetable.h>
+#include <linux/property.h>
#define DS1803_WIPER_0 0xA9
#define DS1803_WIPER_1 0xAA
@@ -166,7 +167,9 @@ static int ds1803_probe(struct i2c_client *client, const struct i2c_device_id *i
data = iio_priv(indio_dev);
data->client = client;
- data->cfg = &ds1803_cfg[id->driver_data];
+ data->cfg = device_get_match_data(dev);
+ if (!data->cfg)
+ data->cfg = &ds1803_cfg[id->driver_data];
indio_dev->info = &ds1803_info;
indio_dev->channels = data->cfg->channels;