]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
serial: sc16is7xx: use i2c_get_match_data()
authorHugo Villeneuve <hvilleneuve@dimonoff.com>
Thu, 21 Dec 2023 23:18:15 +0000 (18:18 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 4 Jan 2024 15:30:04 +0000 (16:30 +0100)
Use preferred i2c_get_match_data() instead of device_get_match_data()
and i2c_client_get_device_id() to get the driver match data.

Suggested-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
Link: https://lore.kernel.org/r/20231221231823.2327894-9-hugo@hugovil.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/sc16is7xx.c

index 4161d692df40920953b9b46bfe3f8829ca5cb3d1..e7f3184a70a18555a7adc1225f0d34ae3b0a4d09 100644 (file)
@@ -1796,18 +1796,13 @@ MODULE_ALIAS("spi:sc16is7xx");
 #ifdef CONFIG_SERIAL_SC16IS7XX_I2C
 static int sc16is7xx_i2c_probe(struct i2c_client *i2c)
 {
-       const struct i2c_device_id *id = i2c_client_get_device_id(i2c);
        const struct sc16is7xx_devtype *devtype;
        struct regmap *regmaps[2];
        unsigned int i;
 
-       if (i2c->dev.of_node) {
-               devtype = device_get_match_data(&i2c->dev);
-               if (!devtype)
-                       return -ENODEV;
-       } else {
-               devtype = (struct sc16is7xx_devtype *)id->driver_data;
-       }
+       devtype = i2c_get_match_data(i2c);
+       if (!devtype)
+               return dev_err_probe(&i2c->dev, -ENODEV, "Failed to match device\n");
 
        for (i = 0; i < devtype->nr_uart; i++) {
                regcfg.name = sc16is7xx_regmap_name(i);