Use of_device_get_match_data() to simplify the code a bit. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> --- - cast to longer type to avoid "cast from pointer to integer of different size" - change type of port_type to unsigned int drivers/tty/serial/8250/8250_of.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/drivers/tty/serial/8250/8250_of.c b/drivers/tty/serial/8250/8250_of.c index 0277479c87e9..1308b3d1e17a 100644 --- a/drivers/tty/serial/8250/8250_of.c +++ b/drivers/tty/serial/8250/8250_of.c @@ -205,18 +205,16 @@ static int of_platform_serial_setup(struct platform_device *ofdev, /* * 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) -- 2.20.1