All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Match data improvements for ti-dac5571 driver
@ 2023-08-18 17:39 Biju Das
  2023-08-18 17:39 ` [PATCH v2 1/2] iio: dac: ti-dac5571: Use i2c_get_match_data() Biju Das
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Biju Das @ 2023-08-18 17:39 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: Biju Das, Lars-Peter Clausen, Uwe Kleine-König,
	Laurent Pinchart, Andy Shevchenko, linux-iio, Geert Uytterhoeven,
	Prabhakar Mahadev Lad, linux-renesas-soc

This patch series aims to add match data improvements for ti-dac5571
driver.

v1->v2:
 * Split the patch into two.
 * Added patch#2 for sorting match tables.

Biju Das (2):
  iio: dac: ti-dac5571: Use i2c_get_match_data()
  iio: dac: ti-dac5571: Sort match tables

 drivers/iio/dac/ti-dac5571.c | 48 ++++++++++++++++--------------------
 1 file changed, 21 insertions(+), 27 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v2 1/2] iio: dac: ti-dac5571: Use i2c_get_match_data()
  2023-08-18 17:39 [PATCH v2 0/2] Match data improvements for ti-dac5571 driver Biju Das
@ 2023-08-18 17:39 ` Biju Das
  2023-08-28 13:44   ` Laurent Pinchart
  2023-08-18 17:39 ` [PATCH v2 2/2] iio: dac: ti-dac5571: Sort match tables Biju Das
  2023-08-28 12:50 ` [PATCH v2 0/2] Match data improvements for ti-dac5571 driver Jonathan Cameron
  2 siblings, 1 reply; 7+ messages in thread
From: Biju Das @ 2023-08-18 17:39 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: Biju Das, Lars-Peter Clausen, Uwe Kleine-König,
	Laurent Pinchart, Andy Shevchenko, linux-iio, Geert Uytterhoeven,
	Prabhakar Mahadev Lad, linux-renesas-soc

Replace device_get_match_data() and id lookup for retrieving match data
by i2c_get_match_data() by converting enum->pointer for data in the
match table.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
v1->v2:
 * No change.
---
 drivers/iio/dac/ti-dac5571.c | 48 ++++++++++++++++--------------------
 1 file changed, 21 insertions(+), 27 deletions(-)

diff --git a/drivers/iio/dac/ti-dac5571.c b/drivers/iio/dac/ti-dac5571.c
index bab11b9adc25..2bb3f76569ee 100644
--- a/drivers/iio/dac/ti-dac5571.c
+++ b/drivers/iio/dac/ti-dac5571.c
@@ -313,7 +313,6 @@ static int dac5571_probe(struct i2c_client *client)
 	const struct dac5571_spec *spec;
 	struct dac5571_data *data;
 	struct iio_dev *indio_dev;
-	enum chip_id chip_id;
 	int ret, i;
 
 	indio_dev = devm_iio_device_alloc(dev, sizeof(*data));
@@ -329,12 +328,7 @@ static int dac5571_probe(struct i2c_client *client)
 	indio_dev->modes = INDIO_DIRECT_MODE;
 	indio_dev->channels = dac5571_channels;
 
-	if (dev_fwnode(dev))
-		chip_id = (uintptr_t)device_get_match_data(dev);
-	else
-		chip_id = id->driver_data;
-
-	spec = &dac5571_spec[chip_id];
+	spec = i2c_get_match_data(client);
 
 	indio_dev->num_channels = spec->num_channels;
 	data->spec = spec;
@@ -392,31 +386,31 @@ static void dac5571_remove(struct i2c_client *i2c)
 }
 
 static const struct of_device_id dac5571_of_id[] = {
-	{.compatible = "ti,dac5571", .data = (void *)single_8bit},
-	{.compatible = "ti,dac6571", .data = (void *)single_10bit},
-	{.compatible = "ti,dac7571", .data = (void *)single_12bit},
-	{.compatible = "ti,dac5574", .data = (void *)quad_8bit},
-	{.compatible = "ti,dac6574", .data = (void *)quad_10bit},
-	{.compatible = "ti,dac7574", .data = (void *)quad_12bit},
-	{.compatible = "ti,dac5573", .data = (void *)quad_8bit},
-	{.compatible = "ti,dac6573", .data = (void *)quad_10bit},
-	{.compatible = "ti,dac7573", .data = (void *)quad_12bit},
-	{.compatible = "ti,dac121c081", .data = (void *)single_12bit},
+	{.compatible = "ti,dac5571", .data = &dac5571_spec[single_8bit] },
+	{.compatible = "ti,dac6571", .data = &dac5571_spec[single_10bit] },
+	{.compatible = "ti,dac7571", .data = &dac5571_spec[single_12bit] },
+	{.compatible = "ti,dac5574", .data = &dac5571_spec[quad_8bit] },
+	{.compatible = "ti,dac6574", .data = &dac5571_spec[quad_10bit] },
+	{.compatible = "ti,dac7574", .data = &dac5571_spec[quad_12bit] },
+	{.compatible = "ti,dac5573", .data = &dac5571_spec[quad_8bit] },
+	{.compatible = "ti,dac6573", .data = &dac5571_spec[quad_10bit] },
+	{.compatible = "ti,dac7573", .data = &dac5571_spec[quad_12bit] },
+	{.compatible = "ti,dac121c081", .data = &dac5571_spec[single_12bit] },
 	{}
 };
 MODULE_DEVICE_TABLE(of, dac5571_of_id);
 
 static const struct i2c_device_id dac5571_id[] = {
-	{"dac5571", single_8bit},
-	{"dac6571", single_10bit},
-	{"dac7571", single_12bit},
-	{"dac5574", quad_8bit},
-	{"dac6574", quad_10bit},
-	{"dac7574", quad_12bit},
-	{"dac5573", quad_8bit},
-	{"dac6573", quad_10bit},
-	{"dac7573", quad_12bit},
-	{"dac121c081", single_12bit},
+	{"dac5571", (kernel_ulong_t)&dac5571_spec[single_8bit] },
+	{"dac6571", (kernel_ulong_t)&dac5571_spec[single_10bit] },
+	{"dac7571", (kernel_ulong_t)&dac5571_spec[single_12bit] },
+	{"dac5574", (kernel_ulong_t)&dac5571_spec[quad_8bit] },
+	{"dac6574", (kernel_ulong_t)&dac5571_spec[quad_10bit] },
+	{"dac7574", (kernel_ulong_t)&dac5571_spec[quad_12bit] },
+	{"dac5573", (kernel_ulong_t)&dac5571_spec[quad_8bit] },
+	{"dac6573", (kernel_ulong_t)&dac5571_spec[quad_10bit] },
+	{"dac7573", (kernel_ulong_t)&dac5571_spec[quad_12bit] },
+	{"dac121c081", (kernel_ulong_t)&dac5571_spec[single_12bit] },
 	{}
 };
 MODULE_DEVICE_TABLE(i2c, dac5571_id);
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 2/2] iio: dac: ti-dac5571: Sort match tables
  2023-08-18 17:39 [PATCH v2 0/2] Match data improvements for ti-dac5571 driver Biju Das
  2023-08-18 17:39 ` [PATCH v2 1/2] iio: dac: ti-dac5571: Use i2c_get_match_data() Biju Das
@ 2023-08-18 17:39 ` Biju Das
  2023-08-28 13:50   ` Laurent Pinchart
  2023-08-28 12:50 ` [PATCH v2 0/2] Match data improvements for ti-dac5571 driver Jonathan Cameron
  2 siblings, 1 reply; 7+ messages in thread
From: Biju Das @ 2023-08-18 17:39 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: Biju Das, Lars-Peter Clausen, Uwe Kleine-König,
	Laurent Pinchart, Andy Shevchenko, linux-iio, Geert Uytterhoeven,
	Prabhakar Mahadev Lad, linux-renesas-soc

Sort ID table alphabetically by name and OF table by compatible
for single_*bit enums.

Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
v2:
 * New patch.
---
 drivers/iio/dac/ti-dac5571.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/iio/dac/ti-dac5571.c b/drivers/iio/dac/ti-dac5571.c
index 2bb3f76569ee..efb1269a77c1 100644
--- a/drivers/iio/dac/ti-dac5571.c
+++ b/drivers/iio/dac/ti-dac5571.c
@@ -386,6 +386,7 @@ static void dac5571_remove(struct i2c_client *i2c)
 }
 
 static const struct of_device_id dac5571_of_id[] = {
+	{.compatible = "ti,dac121c081", .data = &dac5571_spec[single_12bit] },
 	{.compatible = "ti,dac5571", .data = &dac5571_spec[single_8bit] },
 	{.compatible = "ti,dac6571", .data = &dac5571_spec[single_10bit] },
 	{.compatible = "ti,dac7571", .data = &dac5571_spec[single_12bit] },
@@ -395,12 +396,12 @@ static const struct of_device_id dac5571_of_id[] = {
 	{.compatible = "ti,dac5573", .data = &dac5571_spec[quad_8bit] },
 	{.compatible = "ti,dac6573", .data = &dac5571_spec[quad_10bit] },
 	{.compatible = "ti,dac7573", .data = &dac5571_spec[quad_12bit] },
-	{.compatible = "ti,dac121c081", .data = &dac5571_spec[single_12bit] },
 	{}
 };
 MODULE_DEVICE_TABLE(of, dac5571_of_id);
 
 static const struct i2c_device_id dac5571_id[] = {
+	{"dac121c081", (kernel_ulong_t)&dac5571_spec[single_12bit] },
 	{"dac5571", (kernel_ulong_t)&dac5571_spec[single_8bit] },
 	{"dac6571", (kernel_ulong_t)&dac5571_spec[single_10bit] },
 	{"dac7571", (kernel_ulong_t)&dac5571_spec[single_12bit] },
@@ -410,7 +411,6 @@ static const struct i2c_device_id dac5571_id[] = {
 	{"dac5573", (kernel_ulong_t)&dac5571_spec[quad_8bit] },
 	{"dac6573", (kernel_ulong_t)&dac5571_spec[quad_10bit] },
 	{"dac7573", (kernel_ulong_t)&dac5571_spec[quad_12bit] },
-	{"dac121c081", (kernel_ulong_t)&dac5571_spec[single_12bit] },
 	{}
 };
 MODULE_DEVICE_TABLE(i2c, dac5571_id);
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 0/2] Match data improvements for ti-dac5571 driver
  2023-08-18 17:39 [PATCH v2 0/2] Match data improvements for ti-dac5571 driver Biju Das
  2023-08-18 17:39 ` [PATCH v2 1/2] iio: dac: ti-dac5571: Use i2c_get_match_data() Biju Das
  2023-08-18 17:39 ` [PATCH v2 2/2] iio: dac: ti-dac5571: Sort match tables Biju Das
@ 2023-08-28 12:50 ` Jonathan Cameron
  2 siblings, 0 replies; 7+ messages in thread
From: Jonathan Cameron @ 2023-08-28 12:50 UTC (permalink / raw)
  To: Biju Das
  Cc: Lars-Peter Clausen, Uwe Kleine-König, Laurent Pinchart,
	Andy Shevchenko, linux-iio, Geert Uytterhoeven,
	Prabhakar Mahadev Lad, linux-renesas-soc, Sean Nyekjaer

On Fri, 18 Aug 2023 18:39:05 +0100
Biju Das <biju.das.jz@bp.renesas.com> wrote:

> This patch series aims to add match data improvements for ti-dac5571
> driver.
> 
> v1->v2:
>  * Split the patch into two.
>  * Added patch#2 for sorting match tables.
> 
> Biju Das (2):
>   iio: dac: ti-dac5571: Use i2c_get_match_data()
>   iio: dac: ti-dac5571: Sort match tables
+CC Sean,

Applied to the togreg branch of iio.git and pushed out for now as testing.
I'll be rebasing that tree on rc1 once available, so I won't push these
out in a form linux-next will pick up until then.

Thanks,

Jonathan

> 
>  drivers/iio/dac/ti-dac5571.c | 48 ++++++++++++++++--------------------
>  1 file changed, 21 insertions(+), 27 deletions(-)
> 


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 1/2] iio: dac: ti-dac5571: Use i2c_get_match_data()
  2023-08-18 17:39 ` [PATCH v2 1/2] iio: dac: ti-dac5571: Use i2c_get_match_data() Biju Das
@ 2023-08-28 13:44   ` Laurent Pinchart
  2023-08-29 14:42     ` Biju Das
  0 siblings, 1 reply; 7+ messages in thread
From: Laurent Pinchart @ 2023-08-28 13:44 UTC (permalink / raw)
  To: Biju Das
  Cc: Jonathan Cameron, Lars-Peter Clausen, Uwe Kleine-König,
	Andy Shevchenko, linux-iio, Geert Uytterhoeven,
	Prabhakar Mahadev Lad, linux-renesas-soc

Hi Biju,

Thank you for the patch.

On Fri, Aug 18, 2023 at 06:39:06PM +0100, Biju Das wrote:
> Replace device_get_match_data() and id lookup for retrieving match data
> by i2c_get_match_data() by converting enum->pointer for data in the
> match table.
> 
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>

The change looks fine, but a commit message that explains why would
be nice, the same way you have done with a similar modification in a DRM
bridge driver.

> ---
> v1->v2:
>  * No change.
> ---
>  drivers/iio/dac/ti-dac5571.c | 48 ++++++++++++++++--------------------
>  1 file changed, 21 insertions(+), 27 deletions(-)
> 
> diff --git a/drivers/iio/dac/ti-dac5571.c b/drivers/iio/dac/ti-dac5571.c
> index bab11b9adc25..2bb3f76569ee 100644
> --- a/drivers/iio/dac/ti-dac5571.c
> +++ b/drivers/iio/dac/ti-dac5571.c
> @@ -313,7 +313,6 @@ static int dac5571_probe(struct i2c_client *client)
>  	const struct dac5571_spec *spec;
>  	struct dac5571_data *data;
>  	struct iio_dev *indio_dev;
> -	enum chip_id chip_id;
>  	int ret, i;
>  
>  	indio_dev = devm_iio_device_alloc(dev, sizeof(*data));
> @@ -329,12 +328,7 @@ static int dac5571_probe(struct i2c_client *client)
>  	indio_dev->modes = INDIO_DIRECT_MODE;
>  	indio_dev->channels = dac5571_channels;
>  
> -	if (dev_fwnode(dev))
> -		chip_id = (uintptr_t)device_get_match_data(dev);
> -	else
> -		chip_id = id->driver_data;
> -
> -	spec = &dac5571_spec[chip_id];
> +	spec = i2c_get_match_data(client);
>  
>  	indio_dev->num_channels = spec->num_channels;
>  	data->spec = spec;
> @@ -392,31 +386,31 @@ static void dac5571_remove(struct i2c_client *i2c)
>  }
>  
>  static const struct of_device_id dac5571_of_id[] = {
> -	{.compatible = "ti,dac5571", .data = (void *)single_8bit},
> -	{.compatible = "ti,dac6571", .data = (void *)single_10bit},
> -	{.compatible = "ti,dac7571", .data = (void *)single_12bit},
> -	{.compatible = "ti,dac5574", .data = (void *)quad_8bit},
> -	{.compatible = "ti,dac6574", .data = (void *)quad_10bit},
> -	{.compatible = "ti,dac7574", .data = (void *)quad_12bit},
> -	{.compatible = "ti,dac5573", .data = (void *)quad_8bit},
> -	{.compatible = "ti,dac6573", .data = (void *)quad_10bit},
> -	{.compatible = "ti,dac7573", .data = (void *)quad_12bit},
> -	{.compatible = "ti,dac121c081", .data = (void *)single_12bit},
> +	{.compatible = "ti,dac5571", .data = &dac5571_spec[single_8bit] },
> +	{.compatible = "ti,dac6571", .data = &dac5571_spec[single_10bit] },
> +	{.compatible = "ti,dac7571", .data = &dac5571_spec[single_12bit] },
> +	{.compatible = "ti,dac5574", .data = &dac5571_spec[quad_8bit] },
> +	{.compatible = "ti,dac6574", .data = &dac5571_spec[quad_10bit] },
> +	{.compatible = "ti,dac7574", .data = &dac5571_spec[quad_12bit] },
> +	{.compatible = "ti,dac5573", .data = &dac5571_spec[quad_8bit] },
> +	{.compatible = "ti,dac6573", .data = &dac5571_spec[quad_10bit] },
> +	{.compatible = "ti,dac7573", .data = &dac5571_spec[quad_12bit] },
> +	{.compatible = "ti,dac121c081", .data = &dac5571_spec[single_12bit] },
>  	{}
>  };
>  MODULE_DEVICE_TABLE(of, dac5571_of_id);
>  
>  static const struct i2c_device_id dac5571_id[] = {
> -	{"dac5571", single_8bit},
> -	{"dac6571", single_10bit},
> -	{"dac7571", single_12bit},
> -	{"dac5574", quad_8bit},
> -	{"dac6574", quad_10bit},
> -	{"dac7574", quad_12bit},
> -	{"dac5573", quad_8bit},
> -	{"dac6573", quad_10bit},
> -	{"dac7573", quad_12bit},
> -	{"dac121c081", single_12bit},
> +	{"dac5571", (kernel_ulong_t)&dac5571_spec[single_8bit] },
> +	{"dac6571", (kernel_ulong_t)&dac5571_spec[single_10bit] },
> +	{"dac7571", (kernel_ulong_t)&dac5571_spec[single_12bit] },
> +	{"dac5574", (kernel_ulong_t)&dac5571_spec[quad_8bit] },
> +	{"dac6574", (kernel_ulong_t)&dac5571_spec[quad_10bit] },
> +	{"dac7574", (kernel_ulong_t)&dac5571_spec[quad_12bit] },
> +	{"dac5573", (kernel_ulong_t)&dac5571_spec[quad_8bit] },
> +	{"dac6573", (kernel_ulong_t)&dac5571_spec[quad_10bit] },
> +	{"dac7573", (kernel_ulong_t)&dac5571_spec[quad_12bit] },
> +	{"dac121c081", (kernel_ulong_t)&dac5571_spec[single_12bit] },
>  	{}
>  };
>  MODULE_DEVICE_TABLE(i2c, dac5571_id);

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 2/2] iio: dac: ti-dac5571: Sort match tables
  2023-08-18 17:39 ` [PATCH v2 2/2] iio: dac: ti-dac5571: Sort match tables Biju Das
@ 2023-08-28 13:50   ` Laurent Pinchart
  0 siblings, 0 replies; 7+ messages in thread
From: Laurent Pinchart @ 2023-08-28 13:50 UTC (permalink / raw)
  To: Biju Das
  Cc: Jonathan Cameron, Lars-Peter Clausen, Uwe Kleine-König,
	Andy Shevchenko, linux-iio, Geert Uytterhoeven,
	Prabhakar Mahadev Lad, linux-renesas-soc

Hi Biju,

Thank you for the patch.

On Fri, Aug 18, 2023 at 06:39:07PM +0100, Biju Das wrote:
> Sort ID table alphabetically by name and OF table by compatible
> for single_*bit enums.
> 
> Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

> ---
> v2:
>  * New patch.
> ---
>  drivers/iio/dac/ti-dac5571.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/iio/dac/ti-dac5571.c b/drivers/iio/dac/ti-dac5571.c
> index 2bb3f76569ee..efb1269a77c1 100644
> --- a/drivers/iio/dac/ti-dac5571.c
> +++ b/drivers/iio/dac/ti-dac5571.c
> @@ -386,6 +386,7 @@ static void dac5571_remove(struct i2c_client *i2c)
>  }
>  
>  static const struct of_device_id dac5571_of_id[] = {
> +	{.compatible = "ti,dac121c081", .data = &dac5571_spec[single_12bit] },
>  	{.compatible = "ti,dac5571", .data = &dac5571_spec[single_8bit] },
>  	{.compatible = "ti,dac6571", .data = &dac5571_spec[single_10bit] },
>  	{.compatible = "ti,dac7571", .data = &dac5571_spec[single_12bit] },
> @@ -395,12 +396,12 @@ static const struct of_device_id dac5571_of_id[] = {
>  	{.compatible = "ti,dac5573", .data = &dac5571_spec[quad_8bit] },
>  	{.compatible = "ti,dac6573", .data = &dac5571_spec[quad_10bit] },
>  	{.compatible = "ti,dac7573", .data = &dac5571_spec[quad_12bit] },
> -	{.compatible = "ti,dac121c081", .data = &dac5571_spec[single_12bit] },
>  	{}
>  };
>  MODULE_DEVICE_TABLE(of, dac5571_of_id);
>  
>  static const struct i2c_device_id dac5571_id[] = {
> +	{"dac121c081", (kernel_ulong_t)&dac5571_spec[single_12bit] },
>  	{"dac5571", (kernel_ulong_t)&dac5571_spec[single_8bit] },
>  	{"dac6571", (kernel_ulong_t)&dac5571_spec[single_10bit] },
>  	{"dac7571", (kernel_ulong_t)&dac5571_spec[single_12bit] },
> @@ -410,7 +411,6 @@ static const struct i2c_device_id dac5571_id[] = {
>  	{"dac5573", (kernel_ulong_t)&dac5571_spec[quad_8bit] },
>  	{"dac6573", (kernel_ulong_t)&dac5571_spec[quad_10bit] },
>  	{"dac7573", (kernel_ulong_t)&dac5571_spec[quad_12bit] },
> -	{"dac121c081", (kernel_ulong_t)&dac5571_spec[single_12bit] },
>  	{}
>  };
>  MODULE_DEVICE_TABLE(i2c, dac5571_id);

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: [PATCH v2 1/2] iio: dac: ti-dac5571: Use i2c_get_match_data()
  2023-08-28 13:44   ` Laurent Pinchart
@ 2023-08-29 14:42     ` Biju Das
  0 siblings, 0 replies; 7+ messages in thread
From: Biju Das @ 2023-08-29 14:42 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: Jonathan Cameron, Lars-Peter Clausen, Uwe Kleine-König,
	Andy Shevchenko, linux-iio, Geert Uytterhoeven,
	Prabhakar Mahadev Lad, linux-renesas-soc

Hi Laurent Pinchart,

> Subject: Re: [PATCH v2 1/2] iio: dac: ti-dac5571: Use i2c_get_match_data()
> 
> Hi Biju,
> 
> Thank you for the patch.
> 
> On Fri, Aug 18, 2023 at 06:39:06PM +0100, Biju Das wrote:
> > Replace device_get_match_data() and id lookup for retrieving match
> > data by i2c_get_match_data() by converting enum->pointer for data in
> > the match table.
> >
> > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> 
> The change looks fine, but a commit message that explains why would be
> nice, the same way you have done with a similar modification in a DRM
> bridge driver.

Basically, it simplifies the probe(). I will add this info.

Cheers,
Biju

> 
> > ---
> > v1->v2:
> >  * No change.
> > ---
> >  drivers/iio/dac/ti-dac5571.c | 48
> > ++++++++++++++++--------------------
> >  1 file changed, 21 insertions(+), 27 deletions(-)
> >
> > diff --git a/drivers/iio/dac/ti-dac5571.c
> > b/drivers/iio/dac/ti-dac5571.c index bab11b9adc25..2bb3f76569ee 100644
> > --- a/drivers/iio/dac/ti-dac5571.c
> > +++ b/drivers/iio/dac/ti-dac5571.c
> > @@ -313,7 +313,6 @@ static int dac5571_probe(struct i2c_client *client)
> >  	const struct dac5571_spec *spec;
> >  	struct dac5571_data *data;
> >  	struct iio_dev *indio_dev;
> > -	enum chip_id chip_id;
> >  	int ret, i;
> >
> >  	indio_dev = devm_iio_device_alloc(dev, sizeof(*data)); @@ -329,12
> > +328,7 @@ static int dac5571_probe(struct i2c_client *client)
> >  	indio_dev->modes = INDIO_DIRECT_MODE;
> >  	indio_dev->channels = dac5571_channels;
> >
> > -	if (dev_fwnode(dev))
> > -		chip_id = (uintptr_t)device_get_match_data(dev);
> > -	else
> > -		chip_id = id->driver_data;
> > -
> > -	spec = &dac5571_spec[chip_id];
> > +	spec = i2c_get_match_data(client);
> >
> >  	indio_dev->num_channels = spec->num_channels;
> >  	data->spec = spec;
> > @@ -392,31 +386,31 @@ static void dac5571_remove(struct i2c_client
> > *i2c)  }
> >
> >  static const struct of_device_id dac5571_of_id[] = {
> > -	{.compatible = "ti,dac5571", .data = (void *)single_8bit},
> > -	{.compatible = "ti,dac6571", .data = (void *)single_10bit},
> > -	{.compatible = "ti,dac7571", .data = (void *)single_12bit},
> > -	{.compatible = "ti,dac5574", .data = (void *)quad_8bit},
> > -	{.compatible = "ti,dac6574", .data = (void *)quad_10bit},
> > -	{.compatible = "ti,dac7574", .data = (void *)quad_12bit},
> > -	{.compatible = "ti,dac5573", .data = (void *)quad_8bit},
> > -	{.compatible = "ti,dac6573", .data = (void *)quad_10bit},
> > -	{.compatible = "ti,dac7573", .data = (void *)quad_12bit},
> > -	{.compatible = "ti,dac121c081", .data = (void *)single_12bit},
> > +	{.compatible = "ti,dac5571", .data = &dac5571_spec[single_8bit] },
> > +	{.compatible = "ti,dac6571", .data = &dac5571_spec[single_10bit] },
> > +	{.compatible = "ti,dac7571", .data = &dac5571_spec[single_12bit] },
> > +	{.compatible = "ti,dac5574", .data = &dac5571_spec[quad_8bit] },
> > +	{.compatible = "ti,dac6574", .data = &dac5571_spec[quad_10bit] },
> > +	{.compatible = "ti,dac7574", .data = &dac5571_spec[quad_12bit] },
> > +	{.compatible = "ti,dac5573", .data = &dac5571_spec[quad_8bit] },
> > +	{.compatible = "ti,dac6573", .data = &dac5571_spec[quad_10bit] },
> > +	{.compatible = "ti,dac7573", .data = &dac5571_spec[quad_12bit] },
> > +	{.compatible = "ti,dac121c081", .data = &dac5571_spec[single_12bit]
> > +},
> >  	{}
> >  };
> >  MODULE_DEVICE_TABLE(of, dac5571_of_id);
> >
> >  static const struct i2c_device_id dac5571_id[] = {
> > -	{"dac5571", single_8bit},
> > -	{"dac6571", single_10bit},
> > -	{"dac7571", single_12bit},
> > -	{"dac5574", quad_8bit},
> > -	{"dac6574", quad_10bit},
> > -	{"dac7574", quad_12bit},
> > -	{"dac5573", quad_8bit},
> > -	{"dac6573", quad_10bit},
> > -	{"dac7573", quad_12bit},
> > -	{"dac121c081", single_12bit},
> > +	{"dac5571", (kernel_ulong_t)&dac5571_spec[single_8bit] },
> > +	{"dac6571", (kernel_ulong_t)&dac5571_spec[single_10bit] },
> > +	{"dac7571", (kernel_ulong_t)&dac5571_spec[single_12bit] },
> > +	{"dac5574", (kernel_ulong_t)&dac5571_spec[quad_8bit] },
> > +	{"dac6574", (kernel_ulong_t)&dac5571_spec[quad_10bit] },
> > +	{"dac7574", (kernel_ulong_t)&dac5571_spec[quad_12bit] },
> > +	{"dac5573", (kernel_ulong_t)&dac5571_spec[quad_8bit] },
> > +	{"dac6573", (kernel_ulong_t)&dac5571_spec[quad_10bit] },
> > +	{"dac7573", (kernel_ulong_t)&dac5571_spec[quad_12bit] },
> > +	{"dac121c081", (kernel_ulong_t)&dac5571_spec[single_12bit] },
> >  	{}
> >  };
> >  MODULE_DEVICE_TABLE(i2c, dac5571_id);
> 
> --
> Regards,
> 
> Laurent Pinchart

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-08-29 14:43 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-18 17:39 [PATCH v2 0/2] Match data improvements for ti-dac5571 driver Biju Das
2023-08-18 17:39 ` [PATCH v2 1/2] iio: dac: ti-dac5571: Use i2c_get_match_data() Biju Das
2023-08-28 13:44   ` Laurent Pinchart
2023-08-29 14:42     ` Biju Das
2023-08-18 17:39 ` [PATCH v2 2/2] iio: dac: ti-dac5571: Sort match tables Biju Das
2023-08-28 13:50   ` Laurent Pinchart
2023-08-28 12:50 ` [PATCH v2 0/2] Match data improvements for ti-dac5571 driver Jonathan Cameron

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.