Linux IIO development
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Use i2c_get_match_data() for yamaha-yas530
@ 2023-08-12  6:57 Biju Das
  2023-08-12  6:57 ` [PATCH v2 1/2] iio: magnetometer: yamaha-yas530: Use i2c_get_match_data() Biju Das
  2023-08-12  6:57 ` [PATCH v2 2/2] iio: magnetometer: yamaha-yas530: Drop enum chip_ids Biju Das
  0 siblings, 2 replies; 7+ messages in thread
From: Biju Das @ 2023-08-12  6:57 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: Biju Das, Lars-Peter Clausen, Andy Shevchenko, Linus Walleij,
	Jakob Hauser, Uwe Kleine-König, linux-iio,
	Geert Uytterhoeven, linux-renesas-soc

Use i2c_get_match_data() to get match data for I2C, ACPI and DT-based
matching instead of device_get_match_data() the one for ACPI/DT-based
matching.

This patch series is only compile tested.

v1->v2:
 * Created separate patch for dropping enum chip_ids 

Biju Das (2):
  iio: magnetometer: yamaha-yas530: Use i2c_get_match_data()
  iio: magnetometer: yamaha-yas530: Drop enum chip_ids

 drivers/iio/magnetometer/yamaha-yas530.c | 150 +++++++++++------------
 1 file changed, 71 insertions(+), 79 deletions(-)

-- 
2.25.1


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

* [PATCH v2 1/2] iio: magnetometer: yamaha-yas530: Use i2c_get_match_data()
  2023-08-12  6:57 [PATCH v2 0/2] Use i2c_get_match_data() for yamaha-yas530 Biju Das
@ 2023-08-12  6:57 ` Biju Das
  2023-08-15  6:50   ` Andy Shevchenko
  2023-08-12  6:57 ` [PATCH v2 2/2] iio: magnetometer: yamaha-yas530: Drop enum chip_ids Biju Das
  1 sibling, 1 reply; 7+ messages in thread
From: Biju Das @ 2023-08-12  6:57 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: Biju Das, Lars-Peter Clausen, Andy Shevchenko, Linus Walleij,
	Jakob Hauser, Uwe Kleine-König, linux-iio,
	Geert Uytterhoeven, linux-renesas-soc

Simplify the probe() by replacing device_get_match_data() with
i2c_get_match_data().

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
v1->v2:
 * Split dropping enum chip_ids as separate patch
---
 drivers/iio/magnetometer/yamaha-yas530.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/iio/magnetometer/yamaha-yas530.c b/drivers/iio/magnetometer/yamaha-yas530.c
index c5e485bfc6fc..7b041bb38693 100644
--- a/drivers/iio/magnetometer/yamaha-yas530.c
+++ b/drivers/iio/magnetometer/yamaha-yas530.c
@@ -1434,9 +1434,7 @@ static int yas5xx_probe(struct i2c_client *i2c)
 		goto assert_reset;
 	}
 
-	ci = device_get_match_data(dev);
-	if (!ci)
-		ci = (const struct yas5xx_chip_info *)id->driver_data;
+	ci = i2c_get_match_data(i2c);
 	yas5xx->chip_info = ci;
 
 	ret = regmap_read(yas5xx->map, YAS5XX_DEVICE_ID, &id_check);
-- 
2.25.1


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

* [PATCH v2 2/2] iio: magnetometer: yamaha-yas530: Drop enum chip_ids
  2023-08-12  6:57 [PATCH v2 0/2] Use i2c_get_match_data() for yamaha-yas530 Biju Das
  2023-08-12  6:57 ` [PATCH v2 1/2] iio: magnetometer: yamaha-yas530: Use i2c_get_match_data() Biju Das
@ 2023-08-12  6:57 ` Biju Das
  2023-08-15  6:49   ` Andy Shevchenko
  1 sibling, 1 reply; 7+ messages in thread
From: Biju Das @ 2023-08-12  6:57 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: Biju Das, Lars-Peter Clausen, Andy Shevchenko, Linus Walleij,
	Jakob Hauser, Uwe Kleine-König, linux-iio,
	Geert Uytterhoeven, linux-renesas-soc

Drop the unnecessary enum chip_ids by splitting the array
yas5xx_chip_info_tbl[] as individual variables.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
v2:
 * New patch.
---
 drivers/iio/magnetometer/yamaha-yas530.c | 146 +++++++++++------------
 1 file changed, 70 insertions(+), 76 deletions(-)

diff --git a/drivers/iio/magnetometer/yamaha-yas530.c b/drivers/iio/magnetometer/yamaha-yas530.c
index 7b041bb38693..0ff3d81e24b4 100644
--- a/drivers/iio/magnetometer/yamaha-yas530.c
+++ b/drivers/iio/magnetometer/yamaha-yas530.c
@@ -133,13 +133,6 @@
 /* Turn off device regulators etc after 5 seconds of inactivity */
 #define YAS5XX_AUTOSUSPEND_DELAY_MS	5000
 
-enum chip_ids {
-	yas530,
-	yas532,
-	yas533,
-	yas537,
-};
-
 static const int yas530_volatile_reg[] = {
 	YAS530_ACTUATE_INIT_COIL,
 	YAS530_MEASURE,
@@ -1321,67 +1314,68 @@ static int yas537_power_on(struct yas5xx *yas5xx)
 	return 0;
 }
 
-static const struct yas5xx_chip_info yas5xx_chip_info_tbl[] = {
-	[yas530] = {
-		.devid = YAS530_DEVICE_ID,
-		.product_name = "YAS530 MS-3E",
-		.version_names = { "A", "B" },
-		.volatile_reg = yas530_volatile_reg,
-		.volatile_reg_qty = ARRAY_SIZE(yas530_volatile_reg),
-		.scaling_val2 = 100000000, /* picotesla to Gauss */
-		.t_ref = 182, /* counts */
-		.min_temp_x10 = -620, /* 1/10:s degrees Celsius */
-		.get_measure = yas530_get_measure,
-		.get_calibration_data = yas530_get_calibration_data,
-		.dump_calibration = yas530_dump_calibration,
-		.measure_offsets = yas530_measure_offsets,
-		.power_on = yas530_power_on,
-	},
-	[yas532] = {
-		.devid = YAS532_DEVICE_ID,
-		.product_name = "YAS532 MS-3R",
-		.version_names = { "AB", "AC" },
-		.volatile_reg = yas530_volatile_reg,
-		.volatile_reg_qty = ARRAY_SIZE(yas530_volatile_reg),
-		.scaling_val2 = 100000, /* nanotesla to Gauss */
-		.t_ref = 390, /* counts */
-		.min_temp_x10 = -500, /* 1/10:s degrees Celsius */
-		.get_measure = yas530_get_measure,
-		.get_calibration_data = yas532_get_calibration_data,
-		.dump_calibration = yas530_dump_calibration,
-		.measure_offsets = yas530_measure_offsets,
-		.power_on = yas530_power_on,
-	},
-	[yas533] = {
-		.devid = YAS532_DEVICE_ID,
-		.product_name = "YAS533 MS-3F",
-		.version_names = { "AB", "AC" },
-		.volatile_reg = yas530_volatile_reg,
-		.volatile_reg_qty = ARRAY_SIZE(yas530_volatile_reg),
-		.scaling_val2 = 100000, /* nanotesla to Gauss */
-		.t_ref = 390, /* counts */
-		.min_temp_x10 = -500, /* 1/10:s degrees Celsius */
-		.get_measure = yas530_get_measure,
-		.get_calibration_data = yas532_get_calibration_data,
-		.dump_calibration = yas530_dump_calibration,
-		.measure_offsets = yas530_measure_offsets,
-		.power_on = yas530_power_on,
-	},
-	[yas537] = {
-		.devid = YAS537_DEVICE_ID,
-		.product_name = "YAS537 MS-3T",
-		.version_names = { "v0", "v1" }, /* version naming unknown */
-		.volatile_reg = yas537_volatile_reg,
-		.volatile_reg_qty = ARRAY_SIZE(yas537_volatile_reg),
-		.scaling_val2 = 100000, /* nanotesla to Gauss */
-		.t_ref = 8120, /* counts */
-		.min_temp_x10 = -3860, /* 1/10:s degrees Celsius */
-		.get_measure = yas537_get_measure,
-		.get_calibration_data = yas537_get_calibration_data,
-		.dump_calibration = yas537_dump_calibration,
-		/* .measure_offets is not needed for yas537 */
-		.power_on = yas537_power_on,
-	},
+static const struct yas5xx_chip_info yas530_chip_info = {
+	.devid = YAS530_DEVICE_ID,
+	.product_name = "YAS530 MS-3E",
+	.version_names = { "A", "B" },
+	.volatile_reg = yas530_volatile_reg,
+	.volatile_reg_qty = ARRAY_SIZE(yas530_volatile_reg),
+	.scaling_val2 = 100000000, /* picotesla to Gauss */
+	.t_ref = 182, /* counts */
+	.min_temp_x10 = -620, /* 1/10:s degrees Celsius */
+	.get_measure = yas530_get_measure,
+	.get_calibration_data = yas530_get_calibration_data,
+	.dump_calibration = yas530_dump_calibration,
+	.measure_offsets = yas530_measure_offsets,
+	.power_on = yas530_power_on,
+};
+
+static const struct yas5xx_chip_info yas532_chip_info = {
+	.devid = YAS532_DEVICE_ID,
+	.product_name = "YAS532 MS-3R",
+	.version_names = { "AB", "AC" },
+	.volatile_reg = yas530_volatile_reg,
+	.volatile_reg_qty = ARRAY_SIZE(yas530_volatile_reg),
+	.scaling_val2 = 100000, /* nanotesla to Gauss */
+	.t_ref = 390, /* counts */
+	.min_temp_x10 = -500, /* 1/10:s degrees Celsius */
+	.get_measure = yas530_get_measure,
+	.get_calibration_data = yas532_get_calibration_data,
+	.dump_calibration = yas530_dump_calibration,
+	.measure_offsets = yas530_measure_offsets,
+	.power_on = yas530_power_on,
+};
+
+static const struct yas5xx_chip_info yas533_chip_info = {
+	.devid = YAS532_DEVICE_ID,
+	.product_name = "YAS533 MS-3F",
+	.version_names = { "AB", "AC" },
+	.volatile_reg = yas530_volatile_reg,
+	.volatile_reg_qty = ARRAY_SIZE(yas530_volatile_reg),
+	.scaling_val2 = 100000, /* nanotesla to Gauss */
+	.t_ref = 390, /* counts */
+	.min_temp_x10 = -500, /* 1/10:s degrees Celsius */
+	.get_measure = yas530_get_measure,
+	.get_calibration_data = yas532_get_calibration_data,
+	.dump_calibration = yas530_dump_calibration,
+	.measure_offsets = yas530_measure_offsets,
+	.power_on = yas530_power_on,
+};
+
+static const struct yas5xx_chip_info yas537_chip_info = {
+	.devid = YAS537_DEVICE_ID,
+	.product_name = "YAS537 MS-3T",
+	.version_names = { "v0", "v1" }, /* version naming unknown */
+	.volatile_reg = yas537_volatile_reg,
+	.volatile_reg_qty = ARRAY_SIZE(yas537_volatile_reg),
+	.scaling_val2 = 100000, /* nanotesla to Gauss */
+	.t_ref = 8120, /* counts */
+	.min_temp_x10 = -3860, /* 1/10:s degrees Celsius */
+	.get_measure = yas537_get_measure,
+	.get_calibration_data = yas537_get_calibration_data,
+	.dump_calibration = yas537_dump_calibration,
+	/* .measure_offets is not needed for yas537 */
+	.power_on = yas537_power_on,
 };
 
 static int yas5xx_probe(struct i2c_client *i2c)
@@ -1580,19 +1574,19 @@ static DEFINE_RUNTIME_DEV_PM_OPS(yas5xx_dev_pm_ops, yas5xx_runtime_suspend,
 				 yas5xx_runtime_resume, NULL);
 
 static const struct i2c_device_id yas5xx_id[] = {
-	{"yas530", (kernel_ulong_t)&yas5xx_chip_info_tbl[yas530] },
-	{"yas532", (kernel_ulong_t)&yas5xx_chip_info_tbl[yas532] },
-	{"yas533", (kernel_ulong_t)&yas5xx_chip_info_tbl[yas533] },
-	{"yas537", (kernel_ulong_t)&yas5xx_chip_info_tbl[yas537] },
+	{"yas530", (kernel_ulong_t)&yas530_chip_info },
+	{"yas532", (kernel_ulong_t)&yas532_chip_info },
+	{"yas533", (kernel_ulong_t)&yas533_chip_info },
+	{"yas537", (kernel_ulong_t)&yas537_chip_info },
 	{}
 };
 MODULE_DEVICE_TABLE(i2c, yas5xx_id);
 
 static const struct of_device_id yas5xx_of_match[] = {
-	{ .compatible = "yamaha,yas530", &yas5xx_chip_info_tbl[yas530] },
-	{ .compatible = "yamaha,yas532", &yas5xx_chip_info_tbl[yas532] },
-	{ .compatible = "yamaha,yas533", &yas5xx_chip_info_tbl[yas533] },
-	{ .compatible = "yamaha,yas537", &yas5xx_chip_info_tbl[yas537] },
+	{ .compatible = "yamaha,yas530", &yas530_chip_info },
+	{ .compatible = "yamaha,yas532", &yas532_chip_info },
+	{ .compatible = "yamaha,yas533", &yas533_chip_info },
+	{ .compatible = "yamaha,yas537", &yas537_chip_info },
 	{}
 };
 MODULE_DEVICE_TABLE(of, yas5xx_of_match);
-- 
2.25.1


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

* Re: [PATCH v2 2/2] iio: magnetometer: yamaha-yas530: Drop enum chip_ids
  2023-08-12  6:57 ` [PATCH v2 2/2] iio: magnetometer: yamaha-yas530: Drop enum chip_ids Biju Das
@ 2023-08-15  6:49   ` Andy Shevchenko
  2023-08-28 13:08     ` Jonathan Cameron
  0 siblings, 1 reply; 7+ messages in thread
From: Andy Shevchenko @ 2023-08-15  6:49 UTC (permalink / raw)
  To: Biju Das
  Cc: Jonathan Cameron, Lars-Peter Clausen, Linus Walleij, Jakob Hauser,
	Uwe Kleine-König, linux-iio, Geert Uytterhoeven,
	linux-renesas-soc

On Sat, Aug 12, 2023 at 07:57:41AM +0100, Biju Das wrote:
> Drop the unnecessary enum chip_ids by splitting the array
> yas5xx_chip_info_tbl[] as individual variables.

In my opinion this is an unneeded churn.
I leave this to Jonathan to decide.

-- 
With Best Regards,
Andy Shevchenko



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

* Re: [PATCH v2 1/2] iio: magnetometer: yamaha-yas530: Use i2c_get_match_data()
  2023-08-12  6:57 ` [PATCH v2 1/2] iio: magnetometer: yamaha-yas530: Use i2c_get_match_data() Biju Das
@ 2023-08-15  6:50   ` Andy Shevchenko
  2023-08-28 13:09     ` Jonathan Cameron
  0 siblings, 1 reply; 7+ messages in thread
From: Andy Shevchenko @ 2023-08-15  6:50 UTC (permalink / raw)
  To: Biju Das
  Cc: Jonathan Cameron, Lars-Peter Clausen, Linus Walleij, Jakob Hauser,
	Uwe Kleine-König, linux-iio, Geert Uytterhoeven,
	linux-renesas-soc

On Sat, Aug 12, 2023 at 07:57:40AM +0100, Biju Das wrote:
> Simplify the probe() by replacing device_get_match_data() with
> i2c_get_match_data().

Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

-- 
With Best Regards,
Andy Shevchenko



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

* Re: [PATCH v2 2/2] iio: magnetometer: yamaha-yas530: Drop enum chip_ids
  2023-08-15  6:49   ` Andy Shevchenko
@ 2023-08-28 13:08     ` Jonathan Cameron
  0 siblings, 0 replies; 7+ messages in thread
From: Jonathan Cameron @ 2023-08-28 13:08 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Biju Das, Lars-Peter Clausen, Linus Walleij, Jakob Hauser,
	Uwe Kleine-König, linux-iio, Geert Uytterhoeven,
	linux-renesas-soc

On Tue, 15 Aug 2023 09:49:56 +0300
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> On Sat, Aug 12, 2023 at 07:57:41AM +0100, Biju Das wrote:
> > Drop the unnecessary enum chip_ids by splitting the array
> > yas5xx_chip_info_tbl[] as individual variables.  
> 
> In my opinion this is an unneeded churn.
> I leave this to Jonathan to decide.
> 
Agree with Andy.

I don't care strongly about doing it one way or another. But as
it's already done via an array - better to leave it like that
and avoid the churn.

Jonathan


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

* Re: [PATCH v2 1/2] iio: magnetometer: yamaha-yas530: Use i2c_get_match_data()
  2023-08-15  6:50   ` Andy Shevchenko
@ 2023-08-28 13:09     ` Jonathan Cameron
  0 siblings, 0 replies; 7+ messages in thread
From: Jonathan Cameron @ 2023-08-28 13:09 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Biju Das, Lars-Peter Clausen, Linus Walleij, Jakob Hauser,
	Uwe Kleine-König, linux-iio, Geert Uytterhoeven,
	linux-renesas-soc

On Tue, 15 Aug 2023 09:50:18 +0300
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> On Sat, Aug 12, 2023 at 07:57:40AM +0100, Biju Das wrote:
> > Simplify the probe() by replacing device_get_match_data() with
> > i2c_get_match_data().  
> 
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Applied just this patch.

Thanks,

Jonathan

> 


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

end of thread, other threads:[~2023-08-28 13:09 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-12  6:57 [PATCH v2 0/2] Use i2c_get_match_data() for yamaha-yas530 Biju Das
2023-08-12  6:57 ` [PATCH v2 1/2] iio: magnetometer: yamaha-yas530: Use i2c_get_match_data() Biju Das
2023-08-15  6:50   ` Andy Shevchenko
2023-08-28 13:09     ` Jonathan Cameron
2023-08-12  6:57 ` [PATCH v2 2/2] iio: magnetometer: yamaha-yas530: Drop enum chip_ids Biju Das
2023-08-15  6:49   ` Andy Shevchenko
2023-08-28 13:08     ` Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox