]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
serial: sc16is7xx: use spi_get_device_match_data()
authorHugo Villeneuve <hvilleneuve@dimonoff.com>
Thu, 21 Dec 2023 23:18:14 +0000 (18:18 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 4 Jan 2024 15:30:04 +0000 (16:30 +0100)
Use preferred spi_get_device_match_data() instead of
device_get_match_data() and spi_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-8-hugo@hugovil.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/sc16is7xx.c

index 42e1b4c70ed6f184001345e84794696ebf929f67..4161d692df40920953b9b46bfe3f8829ca5cb3d1 100644 (file)
@@ -1742,15 +1742,9 @@ static int sc16is7xx_spi_probe(struct spi_device *spi)
        if (ret)
                return ret;
 
-       if (spi->dev.of_node) {
-               devtype = device_get_match_data(&spi->dev);
-               if (!devtype)
-                       return -ENODEV;
-       } else {
-               const struct spi_device_id *id_entry = spi_get_device_id(spi);
-
-               devtype = (struct sc16is7xx_devtype *)id_entry->driver_data;
-       }
+       devtype = spi_get_device_match_data(spi);
+       if (!devtype)
+               return dev_err_probe(&spi->dev, -ENODEV, "Failed to match device\n");
 
        for (i = 0; i < devtype->nr_uart; i++) {
                regcfg.name = sc16is7xx_regmap_name(i);