Message ID | 20191203111753.55146-1-andriy.shevchenko@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v1,1/2] iio: adc: ti-ads1025: Get rid of legacy platform data | expand |
On Tue, 3 Dec 2019 13:17:52 +0200 Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote: > Platform data is a legacy interface to supply device properties > to the driver. In this case we even don't have in-kernel users > for it. Just remove it for good. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> In general I'm not in favour of removing platform data support just for the sake of cleaning that up. However, here where you are doing other work on the probe section of the driver fair enough to tidy it up. Applied to the togreg branch of iio.git and pushed out as testing for the autobuilders to play with it. Thanks, Jonathan > --- > drivers/iio/adc/ti-ads1015.c | 18 ++++++++---------- > include/Kbuild | 1 - > include/linux/platform_data/ads1015.h | 23 ----------------------- > 3 files changed, 8 insertions(+), 34 deletions(-) > delete mode 100644 include/linux/platform_data/ads1015.h > > diff --git a/drivers/iio/adc/ti-ads1015.c b/drivers/iio/adc/ti-ads1015.c > index a550b132cfb7..3b123b4f0b99 100644 > --- a/drivers/iio/adc/ti-ads1015.c > +++ b/drivers/iio/adc/ti-ads1015.c > @@ -21,8 +21,6 @@ > #include <linux/mutex.h> > #include <linux/delay.h> > > -#include <linux/platform_data/ads1015.h> > - > #include <linux/iio/iio.h> > #include <linux/iio/types.h> > #include <linux/iio/sysfs.h> > @@ -33,6 +31,8 @@ > > #define ADS1015_DRV_NAME "ads1015" > > +#define ADS1015_CHANNELS 8 > + > #define ADS1015_CONV_REG 0x00 > #define ADS1015_CFG_REG 0x01 > #define ADS1015_LO_THRESH_REG 0x02 > @@ -219,6 +219,12 @@ static const struct iio_event_spec ads1015_events[] = { > .datasheet_name = "AIN"#_chan"-AIN"#_chan2, \ > } > > +struct ads1015_channel_data { > + bool enabled; > + unsigned int pga; > + unsigned int data_rate; > +}; > + > struct ads1015_thresh_data { > unsigned int comp_queue; > int high_thresh; > @@ -903,14 +909,6 @@ static void ads1015_get_channels_config(struct i2c_client *client) > > struct iio_dev *indio_dev = i2c_get_clientdata(client); > struct ads1015_data *data = iio_priv(indio_dev); > - struct ads1015_platform_data *pdata = dev_get_platdata(&client->dev); > - > - /* prefer platform data */ > - if (pdata) { > - memcpy(data->channel_data, pdata->channel_data, > - sizeof(data->channel_data)); > - return; > - } > > #ifdef CONFIG_OF > if (!ads1015_get_channels_config_of(client)) > diff --git a/include/Kbuild b/include/Kbuild > index ffba79483cc5..498821e5d9ed 100644 > --- a/include/Kbuild > +++ b/include/Kbuild > @@ -443,7 +443,6 @@ header-test- += linux/platform_data/ad7793.h > header-test- += linux/platform_data/ad7887.h > header-test- += linux/platform_data/adau17x1.h > header-test- += linux/platform_data/adp8870.h > -header-test- += linux/platform_data/ads1015.h > header-test- += linux/platform_data/ads7828.h > header-test- += linux/platform_data/apds990x.h > header-test- += linux/platform_data/arm-ux500-pm.h > diff --git a/include/linux/platform_data/ads1015.h b/include/linux/platform_data/ads1015.h > deleted file mode 100644 > index 4cc9ffcafcbf..000000000000 > --- a/include/linux/platform_data/ads1015.h > +++ /dev/null > @@ -1,23 +0,0 @@ > -/* SPDX-License-Identifier: GPL-2.0-or-later */ > -/* > - * Platform Data for ADS1015 12-bit 4-input ADC > - * (C) Copyright 2010 > - * Dirk Eibach, Guntermann & Drunck GmbH <eibach@gdsys.de> > - */ > - > -#ifndef LINUX_ADS1015_H > -#define LINUX_ADS1015_H > - > -#define ADS1015_CHANNELS 8 > - > -struct ads1015_channel_data { > - bool enabled; > - unsigned int pga; > - unsigned int data_rate; > -}; > - > -struct ads1015_platform_data { > - struct ads1015_channel_data channel_data[ADS1015_CHANNELS]; > -}; > - > -#endif /* LINUX_ADS1015_H */
diff --git a/drivers/iio/adc/ti-ads1015.c b/drivers/iio/adc/ti-ads1015.c index a550b132cfb7..3b123b4f0b99 100644 --- a/drivers/iio/adc/ti-ads1015.c +++ b/drivers/iio/adc/ti-ads1015.c @@ -21,8 +21,6 @@ #include <linux/mutex.h> #include <linux/delay.h> -#include <linux/platform_data/ads1015.h> - #include <linux/iio/iio.h> #include <linux/iio/types.h> #include <linux/iio/sysfs.h> @@ -33,6 +31,8 @@ #define ADS1015_DRV_NAME "ads1015" +#define ADS1015_CHANNELS 8 + #define ADS1015_CONV_REG 0x00 #define ADS1015_CFG_REG 0x01 #define ADS1015_LO_THRESH_REG 0x02 @@ -219,6 +219,12 @@ static const struct iio_event_spec ads1015_events[] = { .datasheet_name = "AIN"#_chan"-AIN"#_chan2, \ } +struct ads1015_channel_data { + bool enabled; + unsigned int pga; + unsigned int data_rate; +}; + struct ads1015_thresh_data { unsigned int comp_queue; int high_thresh; @@ -903,14 +909,6 @@ static void ads1015_get_channels_config(struct i2c_client *client) struct iio_dev *indio_dev = i2c_get_clientdata(client); struct ads1015_data *data = iio_priv(indio_dev); - struct ads1015_platform_data *pdata = dev_get_platdata(&client->dev); - - /* prefer platform data */ - if (pdata) { - memcpy(data->channel_data, pdata->channel_data, - sizeof(data->channel_data)); - return; - } #ifdef CONFIG_OF if (!ads1015_get_channels_config_of(client)) diff --git a/include/Kbuild b/include/Kbuild index ffba79483cc5..498821e5d9ed 100644 --- a/include/Kbuild +++ b/include/Kbuild @@ -443,7 +443,6 @@ header-test- += linux/platform_data/ad7793.h header-test- += linux/platform_data/ad7887.h header-test- += linux/platform_data/adau17x1.h header-test- += linux/platform_data/adp8870.h -header-test- += linux/platform_data/ads1015.h header-test- += linux/platform_data/ads7828.h header-test- += linux/platform_data/apds990x.h header-test- += linux/platform_data/arm-ux500-pm.h diff --git a/include/linux/platform_data/ads1015.h b/include/linux/platform_data/ads1015.h deleted file mode 100644 index 4cc9ffcafcbf..000000000000 --- a/include/linux/platform_data/ads1015.h +++ /dev/null @@ -1,23 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later */ -/* - * Platform Data for ADS1015 12-bit 4-input ADC - * (C) Copyright 2010 - * Dirk Eibach, Guntermann & Drunck GmbH <eibach@gdsys.de> - */ - -#ifndef LINUX_ADS1015_H -#define LINUX_ADS1015_H - -#define ADS1015_CHANNELS 8 - -struct ads1015_channel_data { - bool enabled; - unsigned int pga; - unsigned int data_rate; -}; - -struct ads1015_platform_data { - struct ads1015_channel_data channel_data[ADS1015_CHANNELS]; -}; - -#endif /* LINUX_ADS1015_H */
Platform data is a legacy interface to supply device properties to the driver. In this case we even don't have in-kernel users for it. Just remove it for good. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- drivers/iio/adc/ti-ads1015.c | 18 ++++++++---------- include/Kbuild | 1 - include/linux/platform_data/ads1015.h | 23 ----------------------- 3 files changed, 8 insertions(+), 34 deletions(-) delete mode 100644 include/linux/platform_data/ads1015.h