diff options
Diffstat (limited to 'drivers/serial/serial.c')
| -rw-r--r-- | drivers/serial/serial.c | 28 | 
1 files changed, 22 insertions, 6 deletions
diff --git a/drivers/serial/serial.c b/drivers/serial/serial.c index 4032dfde7..0d56e78c5 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 @@ -117,9 +118,8 @@ static NS16550_t serial_ports[4] = {  	serial_puts_dev(port, s);}  /* Serial device descriptor */ -#define INIT_ESERIAL_STRUCTURE(port,name,bus) {\ +#define INIT_ESERIAL_STRUCTURE(port, name) {\  	name,\ -	bus,\  	eserial##port##_init,\  	NULL,\  	eserial##port##_setbrg,\ @@ -325,14 +325,30 @@ serial_setbrg(void)  DECLARE_ESERIAL_FUNCTIONS(1);  struct serial_device eserial1_device = -	INIT_ESERIAL_STRUCTURE(1,"eserial0","EUART1"); +	INIT_ESERIAL_STRUCTURE(1, "eserial0");  DECLARE_ESERIAL_FUNCTIONS(2);  struct serial_device eserial2_device = -	INIT_ESERIAL_STRUCTURE(2,"eserial1","EUART2"); +	INIT_ESERIAL_STRUCTURE(2, "eserial1");  DECLARE_ESERIAL_FUNCTIONS(3);  struct serial_device eserial3_device = -	INIT_ESERIAL_STRUCTURE(3,"eserial2","EUART3"); +	INIT_ESERIAL_STRUCTURE(3, "eserial2");  DECLARE_ESERIAL_FUNCTIONS(4);  struct serial_device eserial4_device = -	INIT_ESERIAL_STRUCTURE(4,"eserial3","EUART4"); +	INIT_ESERIAL_STRUCTURE(4, "eserial3"); + +__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 */  |