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>
This commit is contained in:
committed by
Wolfgang Denk
parent
6262e4e74e
commit
6c768ca746
@@ -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 */
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <linux/compiler.h>
|
||||
#include <asm/arch/s3c24x0_cpu.h>
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
@@ -310,4 +311,17 @@ INIT_S3C_SERIAL_STRUCTURE(1, "s3ser1", "S3UART2");
|
||||
DECLARE_S3C_SERIAL_FUNCTIONS(2);
|
||||
struct serial_device s3c24xx_serial2_device =
|
||||
INIT_S3C_SERIAL_STRUCTURE(2, "s3ser2", "S3UART3");
|
||||
|
||||
__weak struct serial_device *default_serial_console(void)
|
||||
{
|
||||
#if defined(CONFIG_SERIAL1)
|
||||
return &s3c24xx_serial0_device;
|
||||
#elif defined(CONFIG_SERIAL2)
|
||||
return &s3c24xx_serial1_device;
|
||||
#elif defined(CONFIG_SERIAL3)
|
||||
return &s3c24xx_serial2_device;
|
||||
#else
|
||||
#error "CONFIG_SERIAL? missing."
|
||||
#endif
|
||||
}
|
||||
#endif /* CONFIG_SERIAL_MULTI */
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <linux/compiler.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/arch/uart.h>
|
||||
#include <asm/arch/clk.h>
|
||||
@@ -205,3 +206,18 @@ struct serial_device s5p_serial2_device =
|
||||
DECLARE_S5P_SERIAL_FUNCTIONS(3);
|
||||
struct serial_device s5p_serial3_device =
|
||||
INIT_S5P_SERIAL_STRUCTURE(3, "s5pser3", "S5PUART3");
|
||||
|
||||
__weak struct serial_device *default_serial_console(void)
|
||||
{
|
||||
#if defined(CONFIG_SERIAL0)
|
||||
return &s5p_serial0_device;
|
||||
#elif defined(CONFIG_SERIAL1)
|
||||
return &s5p_serial1_device;
|
||||
#elif defined(CONFIG_SERIAL2)
|
||||
return &s5p_serial2_device;
|
||||
#elif defined(CONFIG_SERIAL3)
|
||||
return &s5p_serial3_device;
|
||||
#else
|
||||
#error "CONFIG_SERIAL? missing."
|
||||
#endif
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user