iio: potentiometer: ad5110: Use i2c_get_match_data()
authorBiju Das <biju.das.jz@bp.renesas.com>
Sat, 12 Aug 2023 15:08:38 +0000 (16:08 +0100)
committerJonathan Cameron <jonathan.cameron@huawei.com>
Tue, 12 Sep 2023 09:42:03 +0000 (10:42 +0100)
Replace device_get_match_data()->i2c_get_match_data by making similar I2C
and DT-based matching table to extend matching support for ID table.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://lore.kernel.org/r/20230812150838.185055-1-biju.das.jz@bp.renesas.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/potentiometer/ad5110.c

index 991e745c4f937272db6e178a1d78ce00486788c5..aaf02cc7aeba9b6e265218280a28bc9a1f2dc4d5 100644 (file)
@@ -278,14 +278,19 @@ static const struct of_device_id ad5110_of_match[] = {
 };
 MODULE_DEVICE_TABLE(of, ad5110_of_match);
 
+#define AD5110_ID_TABLE(_name, cfg) {                          \
+       .name = _name,                                          \
+       .driver_data = (kernel_ulong_t)&ad5110_cfg[cfg],        \
+}
+
 static const struct i2c_device_id ad5110_id[] = {
-       { "ad5110-10", AD5110_10 },
-       { "ad5110-80", AD5110_80 },
-       { "ad5112-05", AD5112_05 },
-       { "ad5112-10", AD5112_10 },
-       { "ad5112-80", AD5112_80 },
-       { "ad5114-10", AD5114_10 },
-       { "ad5114-80", AD5114_80 },
+       AD5110_ID_TABLE("ad5110-10", AD5110_10),
+       AD5110_ID_TABLE("ad5110-80", AD5110_80),
+       AD5110_ID_TABLE("ad5112-05", AD5112_05),
+       AD5110_ID_TABLE("ad5112-10", AD5112_10),
+       AD5110_ID_TABLE("ad5112-80", AD5112_80),
+       AD5110_ID_TABLE("ad5114-10", AD5114_10),
+       AD5110_ID_TABLE("ad5114-80", AD5114_80),
        { }
 };
 MODULE_DEVICE_TABLE(i2c, ad5110_id);
@@ -305,7 +310,7 @@ static int ad5110_probe(struct i2c_client *client)
        data->client = client;
        mutex_init(&data->lock);
        data->enable = 1;
-       data->cfg = device_get_match_data(dev);
+       data->cfg = i2c_get_match_data(client);
 
        /* refresh RDAC register with EEPROM */
        ret = ad5110_write(data, AD5110_RESET, 0);