diff options
-rw-r--r-- | drivers/tty/serial/imx.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c index 7e91b3d368cd..99898773706c 100644 --- a/drivers/tty/serial/imx.c +++ b/drivers/tty/serial/imx.c | |||
@@ -1286,17 +1286,20 @@ static int serial_imx_resume(struct platform_device *dev) | |||
1286 | static int serial_imx_probe_dt(struct imx_port *sport, | 1286 | static int serial_imx_probe_dt(struct imx_port *sport, |
1287 | struct platform_device *pdev) | 1287 | struct platform_device *pdev) |
1288 | { | 1288 | { |
1289 | static int portnum = 0; | ||
1290 | struct device_node *np = pdev->dev.of_node; | 1289 | struct device_node *np = pdev->dev.of_node; |
1291 | const struct of_device_id *of_id = | 1290 | const struct of_device_id *of_id = |
1292 | of_match_device(imx_uart_dt_ids, &pdev->dev); | 1291 | of_match_device(imx_uart_dt_ids, &pdev->dev); |
1292 | int ret; | ||
1293 | 1293 | ||
1294 | if (!np) | 1294 | if (!np) |
1295 | return -ENODEV; | 1295 | return -ENODEV; |
1296 | 1296 | ||
1297 | sport->port.line = portnum++; | 1297 | ret = of_alias_get_id(np, "serial"); |
1298 | if (sport->port.line >= UART_NR) | 1298 | if (ret < 0) { |
1299 | return -EINVAL; | 1299 | dev_err(&pdev->dev, "failed to get alias id, errno %d\n", ret); |
1300 | return -ENODEV; | ||
1301 | } | ||
1302 | sport->port.line = ret; | ||
1300 | 1303 | ||
1301 | if (of_get_property(np, "fsl,uart-has-rtscts", NULL)) | 1304 | if (of_get_property(np, "fsl,uart-has-rtscts", NULL)) |
1302 | sport->have_rtscts = 1; | 1305 | sport->have_rtscts = 1; |