serial: sprd: check console via stdout-path in addition
authorChunyan Zhang <chunyan.zhang@unisoc.com>
Mon, 16 Mar 2020 10:19:28 +0000 (18:19 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Mar 2020 14:20:41 +0000 (15:20 +0100)
The SPRD serial driver need to know which serial port would be used as
console in an early period during initialization, the purpose is to
keep the console port alive as possible even if there's some error
caused by no clock configured under serial devicetree nodes. But with
the patch [1], the console port couldn't be identified if missing
console command line.

So this patch adds using another interface to do check by reading
stdout-path.

[1] https://lore.kernel.org/lkml/20190826072929.7696-4-zhang.lyra@gmail.com/

Signed-off-by: Chunyan Zhang <chunyan.zhang@unisoc.com>
Reviewed-by: Baolin Wang <baolin.wang7@gmail.com>
Link: https://lore.kernel.org/r/20200316101930.9962-2-zhang.lyra@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/sprd_serial.c

index 3d3c706..1870633 100644 (file)
@@ -1147,7 +1147,8 @@ static bool sprd_uart_is_console(struct uart_port *uport)
 {
        struct console *cons = sprd_uart_driver.cons;
 
-       if (cons && cons->index >= 0 && cons->index == uport->line)
+       if ((cons && cons->index >= 0 && cons->index == uport->line) ||
+           of_console_check(uport->dev->of_node, SPRD_TTY_NAME, uport->line))
                return true;
 
        return false;