diff options
author | Grant Likely <grant.likely@linaro.org> | 2014-03-27 18:29:46 -0700 |
---|---|---|
committer | Grant Likely <grant.likely@linaro.org> | 2014-06-26 17:12:22 +0100 |
commit | a208ffd251d08ed7ba6bdf3ae1e423373fb12d3d (patch) | |
tree | 48b2c17200d2f81b0be8ad1d8e8c0f8ef383877b | |
parent | 3482f2c52b77bf6596e24aae82e204a0603eba66 (diff) | |
download | op-kernel-dev-a208ffd251d08ed7ba6bdf3ae1e423373fb12d3d.zip op-kernel-dev-a208ffd251d08ed7ba6bdf3ae1e423373fb12d3d.tar.gz |
of: Enable console on serial ports specified by /chosen/stdout-path
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 <grant.likely@linaro.org>
Tested-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | drivers/tty/serial/serial_core.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c index fbf6c5a..3ce68f9 100644 --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c @@ -26,6 +26,7 @@ #include <linux/slab.h> #include <linux/init.h> #include <linux/console.h> +#include <linux/of.h> #include <linux/proc_fs.h> #include <linux/seq_file.h> #include <linux/device.h> @@ -2615,6 +2616,8 @@ int uart_add_one_port(struct uart_driver *drv, struct uart_port *uport) 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); |