Re: [PATCH v1 1/2] iio: adc: ti-ads1025: Get rid of legacy platform data

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue,  3 Dec 2019 13:17:52 +0200
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxx>
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@xxxxxxxx>
> - */
> -
> -#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 */




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux