[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240825063938.56319-1-jasonliu10041728@gmail.com>
Date: Sun, 25 Aug 2024 14:39:38 +0800
From: Jason Liu <jasonliu10041728@...il.com>
To: jmaneyrol@...ensense.com
Cc: jic23@...nel.org,
lars@...afoo.de,
linux-iio@...r.kernel.org,
linux-kernel@...r.kernel.org,
Jason Liu <jasonliu10041728@...il.com>
Subject: [PATCH] iio/inv_icm42600: add inv_icm42600 id_table
Add the id_table of inv_icm42600, so the device can probe correctly.
Signed-off-by: Jason Liu <jasonliu10041728@...il.com>
---
drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c | 15 +++++++++++++++
drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c | 15 +++++++++++++++
2 files changed, 30 insertions(+)
diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c
index ebb31b385881..8cc550b8cfc3 100644
--- a/drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c
+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c
@@ -71,6 +71,20 @@ static int inv_icm42600_probe(struct i2c_client *client)
inv_icm42600_i2c_bus_setup);
}
+/*
+ * device id table is used to identify what device can be
+ * supported by this driver
+ */
+static const struct i2c_device_id inv_icm42600_id[] = {
+ {"icm42600", INV_CHIP_ICM42600},
+ {"icm42602", INV_CHIP_ICM42602},
+ {"icm42605", INV_CHIP_ICM42605},
+ {"icm42622", INV_CHIP_ICM42622},
+ {"icm42631", INV_CHIP_ICM42631},
+ {}
+};
+MODULE_DEVICE_TABLE(i2c, inv_icm42600_id);
+
static const struct of_device_id inv_icm42600_of_matches[] = {
{
.compatible = "invensense,icm42600",
@@ -104,6 +118,7 @@ static struct i2c_driver inv_icm42600_driver = {
.of_match_table = inv_icm42600_of_matches,
.pm = pm_ptr(&inv_icm42600_pm_ops),
},
+ .id_table = inv_icm42600_id,
.probe = inv_icm42600_probe,
};
module_i2c_driver(inv_icm42600_driver);
diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c
index eae5ff7a3cc1..5fe078ddc8a1 100644
--- a/drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c
+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c
@@ -67,6 +67,20 @@ static int inv_icm42600_probe(struct spi_device *spi)
inv_icm42600_spi_bus_setup);
}
+/*
+ * device id table is used to identify what device can be
+ * supported by this driver
+ */
+static const struct spi_device_id inv_icm42600_id[] = {
+ {"icm42600", INV_CHIP_ICM42600},
+ {"icm42602", INV_CHIP_ICM42602},
+ {"icm42605", INV_CHIP_ICM42605},
+ {"icm42622", INV_CHIP_ICM42622},
+ {"icm42631", INV_CHIP_ICM42631},
+ {}
+};
+MODULE_DEVICE_TABLE(spi, inv_icm42600_id);
+
static const struct of_device_id inv_icm42600_of_matches[] = {
{
.compatible = "invensense,icm42600",
@@ -100,6 +114,7 @@ static struct spi_driver inv_icm42600_driver = {
.of_match_table = inv_icm42600_of_matches,
.pm = pm_ptr(&inv_icm42600_pm_ops),
},
+ .id_table = inv_icm42600_id,
.probe = inv_icm42600_probe,
};
module_spi_driver(inv_icm42600_driver);
--
2.25.1
Powered by blists - more mailing lists