diff options
author | Mike Frysinger <vapier@gentoo.org> | 2011-04-29 18:03:29 +0000 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2011-07-26 16:37:57 +0200 |
commit | 6c768ca746c341dd6acbb8b39f48acb48e964d83 (patch) | |
tree | 1c20bed09fe9e70e525a2761d660301947f07dae /drivers/serial/serial.c | |
parent | 6262e4e74e2cdb9f231dc71c9893d4a4bd1e88df (diff) | |
download | u-boot-6c768ca746c341dd6acbb8b39f48acb48e964d83.tar.gz u-boot-6c768ca746c341dd6acbb8b39f48acb48e964d83.tar.xz u-boot-6c768ca746c341dd6acbb8b39f48acb48e964d83.zip |
serial: push default_serial_console to drivers
Rather than sticking arch/board/driver specific logic in the common
serial code, push it all out to the respective drivers. The serial
drivers declare these funcs weak so that boards can still override
things with their own definition.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
CC: Heiko Schocher <hs@denx.de>
CC: Anatolij Gustschin <agust@denx.de>
CC: Tom Rix <Tom.Rix@windriver.com>
CC: Minkyu Kang <mk7.kang@samsung.com>
CC: Craig Nauman <cnauman@diagraph.com>
CC: Prafulla Wadaskar <prafulla@marvell.com>
CC: Mahavir Jain <mjain@marvell.com>
Tested-by: Minkyu Kang <mk7.kang@samsung.com>
Diffstat (limited to 'drivers/serial/serial.c')
-rw-r--r-- | drivers/serial/serial.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/serial/serial.c b/drivers/serial/serial.c index 4032dfde74..4afdd414e7 100644 --- a/drivers/serial/serial.c +++ b/drivers/serial/serial.c @@ -22,6 +22,7 @@ */ #include <common.h> +#include <linux/compiler.h> #include <ns16550.h> #ifdef CONFIG_NS87308 @@ -335,4 +336,20 @@ struct serial_device eserial3_device = DECLARE_ESERIAL_FUNCTIONS(4); struct serial_device eserial4_device = INIT_ESERIAL_STRUCTURE(4,"eserial3","EUART4"); + +__weak struct serial_device *default_serial_console(void) +{ +#if CONFIG_CONS_INDEX == 1 + return &eserial1_device; +#elif CONFIG_CONS_INDEX == 2 + return &eserial2_device; +#elif CONFIG_CONS_INDEX == 3 + return &eserial3_device; +#elif CONFIG_CONS_INDEX == 4 + return &eserial4_device; +#else +#error "Bad CONFIG_CONS_INDEX." +#endif +} + #endif /* CONFIG_SERIAL_MULTI */ |