[PATCH] iio: adc: rtq6056: Fix the manual device instantiation via sysfs
From: cy_huang
Date: Mon Apr 20 2026 - 21:45:30 EST
From: Kevin Tung <kevin.tung.openbmc@xxxxxxxxx>
Add i2c_device_id to support sysfs manual device instantiation.
Fixes: 89a1034cd841 ("iio: adc: rtq6056: Add support for the whole RTQ6056 family")
Signed-off-by: Kevin Tung <kevin.tung.openbmc@xxxxxxxxx>
Signed-off-by: ChiYuan Huang <cy_huang@xxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
---
Hi, Jonathan:
For some BSP limit, still some user instantiate rtq6056 deivce via sysfs.
Therefore, add old style i2c id to make it compatible for this kind of usage.
BR,
ChiYuan.
---
drivers/iio/adc/rtq6056.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/iio/adc/rtq6056.c b/drivers/iio/adc/rtq6056.c
index 2bf3a09ac6b0..e7036dc7d7b9 100644
--- a/drivers/iio/adc/rtq6056.c
+++ b/drivers/iio/adc/rtq6056.c
@@ -728,7 +728,7 @@ static int rtq6056_probe(struct i2c_client *i2c)
if (!i2c_check_functionality(i2c->adapter, I2C_FUNC_SMBUS_WORD_DATA))
return -EOPNOTSUPP;
- devdata = device_get_match_data(dev);
+ devdata = i2c_get_match_data(i2c);
if (!devdata)
return dev_err_probe(dev, -EINVAL, "Invalid dev data\n");
@@ -878,6 +878,13 @@ static const struct of_device_id rtq6056_device_match[] = {
};
MODULE_DEVICE_TABLE(of, rtq6056_device_match);
+static const struct i2c_device_id rtq6056_id[] = {
+ { "rtq6056", (kernel_ulong_t)&rtq6056_devdata },
+ { "rtq6059", (kernel_ulong_t)&rtq6059_devdata },
+ { }
+};
+MODULE_DEVICE_TABLE(i2c, rtq6056_id);
+
static struct i2c_driver rtq6056_driver = {
.driver = {
.name = "rtq6056",
@@ -885,6 +892,7 @@ static struct i2c_driver rtq6056_driver = {
.pm = pm_ptr(&rtq6056_pm_ops),
},
.probe = rtq6056_probe,
+ .id_table = rtq6056_id,
};
module_i2c_driver(rtq6056_driver);
--
2.34.1