From a208ffd251d08ed7ba6bdf3ae1e423373fb12d3d Mon Sep 17 00:00:00 2001 From: Grant Likely Date: Thu, 27 Mar 2014 18:29:46 -0700 Subject: [PATCH] of: Enable console on serial ports specified by /chosen/stdout-path Origin: https://git.kernel.org/linus/a208ffd251d08ed7ba6bdf3ae1e423373fb12d3d If the devicetree specifies a serial port as a stdout device, then the kernel can use it as the default console if nothing else was selected on the command line. For any serial port that uses the uart_add_one_port() feature, the uart_add_one_port() has all the information needed to automatically enable the console device, which is what this patch does. With this change applied, a device tree platform can be booted without any console= parameters on the command line and the kernel will still be able to determine its console. Tested on QEMU Versatile model and i.MX Signed-off-by: Grant Likely Tested-by: Sascha Hauer [bwh: Avoid ABI change] --- drivers/tty/serial/serial_core.c | 3 +++ 1 file changed, 3 insertions(+) --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c @@ -26,6 +26,9 @@ #include #include #include +#ifndef __GENKSYMS__ +#include +#endif #include #include #include @@ -2618,6 +2621,8 @@ int uart_add_one_port(struct uart_driver spin_lock_init(&uport->lock); lockdep_set_class(&uport->lock, &port_lock_key); } + if (uport->cons && uport->dev) + of_console_check(uport->dev->of_node, uport->cons->name, uport->line); uart_configure_port(drv, state, uport);