Re: [PATCH] iio: potentiometer: ad5110: Use i2c_get_match_data()

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

 



On Sat, 12 Aug 2023 16:08:38 +0100
Biju Das <biju.das.jz@xxxxxxxxxxxxxx> wrote:

> Replace device_get_match_data()->i2c_get_match_data by making similar I2C
> and DT-based matching table to extend matching support for ID table.
> 
> Signed-off-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx>

Could have been a little clearer on the reasoning for doign this, but meh there
are a lot of them and this is moving things forwards.

Applied.

Thanks,

Jonathan

> ---
>  drivers/iio/potentiometer/ad5110.c | 21 +++++++++++++--------
>  1 file changed, 13 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/iio/potentiometer/ad5110.c b/drivers/iio/potentiometer/ad5110.c
> index 991e745c4f93..aaf02cc7aeba 100644
> --- a/drivers/iio/potentiometer/ad5110.c
> +++ b/drivers/iio/potentiometer/ad5110.c
> @@ -278,14 +278,19 @@ static const struct of_device_id ad5110_of_match[] = {
>  };
>  MODULE_DEVICE_TABLE(of, ad5110_of_match);
>  
> +#define AD5110_ID_TABLE(_name, cfg) {				\
> +	.name = _name,						\
> +	.driver_data = (kernel_ulong_t)&ad5110_cfg[cfg],	\
> +}
> +
>  static const struct i2c_device_id ad5110_id[] = {
> -	{ "ad5110-10", AD5110_10 },
> -	{ "ad5110-80", AD5110_80 },
> -	{ "ad5112-05", AD5112_05 },
> -	{ "ad5112-10", AD5112_10 },
> -	{ "ad5112-80", AD5112_80 },
> -	{ "ad5114-10", AD5114_10 },
> -	{ "ad5114-80", AD5114_80 },
> +	AD5110_ID_TABLE("ad5110-10", AD5110_10),
> +	AD5110_ID_TABLE("ad5110-80", AD5110_80),
> +	AD5110_ID_TABLE("ad5112-05", AD5112_05),
> +	AD5110_ID_TABLE("ad5112-10", AD5112_10),
> +	AD5110_ID_TABLE("ad5112-80", AD5112_80),
> +	AD5110_ID_TABLE("ad5114-10", AD5114_10),
> +	AD5110_ID_TABLE("ad5114-80", AD5114_80),
>  	{ }
>  };
>  MODULE_DEVICE_TABLE(i2c, ad5110_id);
> @@ -305,7 +310,7 @@ static int ad5110_probe(struct i2c_client *client)
>  	data->client = client;
>  	mutex_init(&data->lock);
>  	data->enable = 1;
> -	data->cfg = device_get_match_data(dev);
> +	data->cfg = i2c_get_match_data(client);
>  
>  	/* refresh RDAC register with EEPROM */
>  	ret = ad5110_write(data, AD5110_RESET, 0);




[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