summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Tung <kevin.tung.openbmc@gmail.com>2026-04-20 20:52:52 +0800
committerJonathan Cameron <jic23@kernel.org>2026-04-27 09:58:23 +0100
commitce80292ead5bb42b50a6b63e44fd95c0edf9d334 (patch)
treeb88c1104ac3692512ba10b042e4e468c253632ef
parentd01d624c28e77bc592ed8e1a9e817edec5826031 (diff)
downloadlinux-ce80292ead5bb42b50a6b63e44fd95c0edf9d334.tar.gz
linux-ce80292ead5bb42b50a6b63e44fd95c0edf9d334.zip
iio: adc: rtq6056: add i2c_device_id support
Add i2c_device_id table to support legacy I2C instantiation. Update probe to use i2c_get_match_data() so device data can be retrieved consistently for both OF and legacy I2C instantiation. Signed-off-by: Kevin Tung <kevin.tung.openbmc@gmail.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
-rw-r--r--drivers/iio/adc/rtq6056.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/iio/adc/rtq6056.c b/drivers/iio/adc/rtq6056.c
index 2bf3a09ac6b0..e2b1da13c0d3 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");
@@ -871,6 +871,13 @@ static const struct richtek_dev_data rtq6059_devdata = {
.set_average = rtq6059_adc_set_average,
};
+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 const struct of_device_id rtq6056_device_match[] = {
{ .compatible = "richtek,rtq6056", .data = &rtq6056_devdata },
{ .compatible = "richtek,rtq6059", .data = &rtq6059_devdata },
@@ -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);