OSDN Git Service

serial: 8250_of: Use of_device_get_match_data()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 30 Apr 2019 18:45:59 +0000 (21:45 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 21 May 2019 10:12:02 +0000 (12:12 +0200)
Use of_device_get_match_data() to simplify the code a bit.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: John Garry <john.garry@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_of.c

index 0277479..1308b3d 100644 (file)
@@ -205,18 +205,16 @@ err_pmruntime:
 /*
  * Try to register a serial port
  */
-static const struct of_device_id of_platform_serial_table[];
 static int of_platform_serial_probe(struct platform_device *ofdev)
 {
-       const struct of_device_id *match;
        struct of_serial_info *info;
        struct uart_8250_port port8250;
+       unsigned int port_type;
        u32 tx_threshold;
-       int port_type;
        int ret;
 
-       match = of_match_device(of_platform_serial_table, &ofdev->dev);
-       if (!match)
+       port_type = (unsigned long)of_device_get_match_data(&ofdev->dev);
+       if (port_type == PORT_UNKNOWN)
                return -EINVAL;
 
        if (of_property_read_bool(ofdev->dev.of_node, "used-by-rtas"))
@@ -226,7 +224,6 @@ static int of_platform_serial_probe(struct platform_device *ofdev)
        if (info == NULL)
                return -ENOMEM;
 
-       port_type = (unsigned long)match->data;
        memset(&port8250, 0, sizeof(port8250));
        ret = of_platform_serial_setup(ofdev, port_type, &port8250.port, info);
        if (ret)