]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
iio: adc: rtq6056: add i2c_device_id support
authorKevin Tung <kevin.tung.openbmc@gmail.com>
Mon, 20 Apr 2026 12:52:52 +0000 (20:52 +0800)
committerJonathan Cameron <jic23@kernel.org>
Mon, 27 Apr 2026 08:58:23 +0000 (09:58 +0100)
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>
drivers/iio/adc/rtq6056.c

index 2bf3a09ac6b0416d1afea85de3d343ed503ac3b9..e2b1da13c0d31fa90cf9a7bfe494f331bcce2675 100644 (file)
@@ -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);