All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] iio: imu: inv_icm45600: Use I2C match data
@ 2026-06-24  5:38 Pengpeng Hou
  2026-06-24  6:56 ` Joshua Crofts
  2026-06-24  8:33 ` Jean-Baptiste Maneyrol
  0 siblings, 2 replies; 3+ messages in thread
From: Pengpeng Hou @ 2026-06-24  5:38 UTC (permalink / raw)
  To: Remi Buisson, Jonathan Cameron, David Lechner, Nuno Sá,
	Andy Shevchenko
  Cc: linux-iio, linux-kernel, Pengpeng Hou

The I2C driver provides chip_info through both the OF match table and
the I2C id table, but probe reads it with device_get_match_data().  That
misses id-table driver_data for non-firmware I2C matches and can reject
a supported device with -ENODEV.

Use i2c_get_match_data() so the id-table chip_info is used when firmware
match data is not present.

Signed-off-by: Pengpeng Hou <pengpeng@iscas.ac.cn>
---
 drivers/iio/imu/inv_icm45600/inv_icm45600_i2c.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iio/imu/inv_icm45600/inv_icm45600_i2c.c b/drivers/iio/imu/inv_icm45600/inv_icm45600_i2c.c
index 5ebc18121a11..c65e5501eee7 100644
--- a/drivers/iio/imu/inv_icm45600/inv_icm45600_i2c.c
+++ b/drivers/iio/imu/inv_icm45600/inv_icm45600_i2c.c
@@ -23,7 +23,7 @@ static int inv_icm45600_probe(struct i2c_client *client)
 	if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_I2C_BLOCK))
 		return -ENODEV;
 
-	chip_info = device_get_match_data(&client->dev);
+	chip_info = i2c_get_match_data(client);
 	if (!chip_info)
 		return -ENODEV;
 
-- 
2.50.1 (Apple Git-155)


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

* Re: [PATCH] iio: imu: inv_icm45600: Use I2C match data
  2026-06-24  5:38 [PATCH] iio: imu: inv_icm45600: Use I2C match data Pengpeng Hou
@ 2026-06-24  6:56 ` Joshua Crofts
  2026-06-24  8:33 ` Jean-Baptiste Maneyrol
  1 sibling, 0 replies; 3+ messages in thread
From: Joshua Crofts @ 2026-06-24  6:56 UTC (permalink / raw)
  To: Pengpeng Hou
  Cc: Remi Buisson, Jonathan Cameron, David Lechner, Nuno Sá,
	Andy Shevchenko, linux-iio, linux-kernel

On Wed, 24 Jun 2026 13:38:23 +0800
Pengpeng Hou <pengpeng@iscas.ac.cn> wrote:

> The I2C driver provides chip_info through both the OF match table and
> the I2C id table, but probe reads it with device_get_match_data().  That
> misses id-table driver_data for non-firmware I2C matches and can reject
> a supported device with -ENODEV.
> 
> Use i2c_get_match_data() so the id-table chip_info is used when firmware
> match data is not present.
> 
> Signed-off-by: Pengpeng Hou <pengpeng@iscas.ac.cn>
> ---

Reviewed-by: Joshua Crofts <joshua.crofts1@gmail.com>

-- 
Kind regards

CJD

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

* Re: [PATCH] iio: imu: inv_icm45600: Use I2C match data
  2026-06-24  5:38 [PATCH] iio: imu: inv_icm45600: Use I2C match data Pengpeng Hou
  2026-06-24  6:56 ` Joshua Crofts
@ 2026-06-24  8:33 ` Jean-Baptiste Maneyrol
  1 sibling, 0 replies; 3+ messages in thread
From: Jean-Baptiste Maneyrol @ 2026-06-24  8:33 UTC (permalink / raw)
  To: Pengpeng Hou, Remi Buisson, Jonathan Cameron, David Lechner,
	Nuno Sá, Andy Shevchenko
  Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org

>From: Pengpeng Hou <pengpeng@iscas.ac.cn>
>Sent: Wednesday, June 24, 2026 07:38
>To: Remi Buisson; Jonathan Cameron; David Lechner; Nuno Sá; Andy Shevchenko
>Cc: linux-iio@vger.kernel.org; linux-kernel@vger.kernel.org; Pengpeng Hou
>Subject: [PATCH] iio: imu: inv_icm45600: Use I2C match data
>
>The I2C driver provides chip_info through both the OF match table and the I2C id table, but probe reads it with device_get_match_data(). That misses id-table driver_data for non-firmware I2C matches and can reject a supported device with -ENODEV. 
>ZjQcmQRYFpfptBannerStart
>This Message Is From an Untrusted Sender
>You have not previously corresponded with this sender.
>
>ZjQcmQRYFpfptBannerEnd
>
>The I2C driver provides chip_info through both the OF match table and
>the I2C id table, but probe reads it with device_get_match_data().  That
>misses id-table driver_data for non-firmware I2C matches and can reject
>a supported device with -ENODEV.
>
>Use i2c_get_match_data() so the id-table chip_info is used when firmware
>match data is not present.
>
>Signed-off-by: Pengpeng Hou <pengpeng@iscas.ac.cn>
>---
> drivers/iio/imu/inv_icm45600/inv_icm45600_i2c.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/drivers/iio/imu/inv_icm45600/inv_icm45600_i2c.c b/drivers/iio/imu/inv_icm45600/inv_icm45600_i2c.c
>index 5ebc18121a11..c65e5501eee7 100644
>--- a/drivers/iio/imu/inv_icm45600/inv_icm45600_i2c.c
>+++ b/drivers/iio/imu/inv_icm45600/inv_icm45600_i2c.c
>@@ -23,7 +23,7 @@ static int inv_icm45600_probe(struct i2c_client *client)
>        if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_I2C_BLOCK))
>                return -ENODEV;
>
>-       chip_info = device_get_match_data(&client->dev);
>+       chip_info = i2c_get_match_data(client);
>        if (!chip_info)
>                return -ENODEV;
>
>--
>2.50.1 (Apple Git-155)
>

Hello Pengpeng,

good stuff, thanks for your patch.

Reviewed-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>

Thanks,
JB

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

end of thread, other threads:[~2026-06-24  8:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-24  5:38 [PATCH] iio: imu: inv_icm45600: Use I2C match data Pengpeng Hou
2026-06-24  6:56 ` Joshua Crofts
2026-06-24  8:33 ` Jean-Baptiste Maneyrol

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.