Get serial id from dts, also keep backward compatible when dts is not
updated.

Signed-off-by: Songjun Wu <songjun...@linux.intel.com>
---

 drivers/tty/serial/lantiq.c | 19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)

diff --git a/drivers/tty/serial/lantiq.c b/drivers/tty/serial/lantiq.c
index 044128277248..66c671677761 100644
--- a/drivers/tty/serial/lantiq.c
+++ b/drivers/tty/serial/lantiq.c
@@ -688,7 +688,7 @@ lqasc_probe(struct platform_device *pdev)
        struct ltq_uart_port *ltq_port;
        struct uart_port *port;
        struct resource *mmres, irqres[3];
-       int line = 0;
+       int line;
        int ret;
 
        mmres = platform_get_resource(pdev, IORESOURCE_MEM, 0);
@@ -699,9 +699,20 @@ lqasc_probe(struct platform_device *pdev)
                return -ENODEV;
        }
 
-       /* check if this is the console port */
-       if (mmres->start != CPHYSADDR(LTQ_EARLY_ASC))
-               line = 1;
+       /* get serial id */
+       line = of_alias_get_id(node, "serial");
+       if (line < 0) {
+               if (IS_ENABLED(CONFIG_LANTIQ)) {
+                       if (mmres->start == CPHYSADDR(LTQ_EARLY_ASC))
+                               line = 0;
+                       else
+                               line = 1;
+               } else {
+                       dev_err(&pdev->dev, "failed to get alias id, errno 
%d\n",
+                               line);
+                       return line;
+               }
+       }
 
        if (lqasc_port[line]) {
                dev_err(&pdev->dev, "port %d already allocated\n", line);
-- 
2.11.0

Reply via email to