From f0eb1f61b02ebd5c86c1db4399f7d78518377910 Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Wed, 12 Sep 2012 13:50:56 +0200 Subject: [PATCH] serial: mpc8xx: Move serial registration from serial_initialize() Move the registration of serial_smc and serial_scc ports from default serial_initialize() into CPU specific function called from serial_initialize(). This slims down the serial_initialize() call to a bare tracker of all possible serial port registration routines in U-Boot. The exports of both serial_scc_device and serial_smc_device can not yet be removed as they are still used in default_serial_console() calls. Signed-off-by: Marek Vasut Cc: Marek Vasut Cc: Tom Rini Cc: Anatolij Gustschin Cc: Stefan Roese Cc: Mike Frysinger --- arch/powerpc/cpu/mpc8xx/serial.c | 11 +++++++++++ common/serial.c | 11 +++-------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/arch/powerpc/cpu/mpc8xx/serial.c b/arch/powerpc/cpu/mpc8xx/serial.c index dc9b3236cb..00888e9062 100644 --- a/arch/powerpc/cpu/mpc8xx/serial.c +++ b/arch/powerpc/cpu/mpc8xx/serial.c @@ -681,6 +681,17 @@ __weak struct serial_device *default_serial_console(void) #endif } +void mpc8xx_serial_initialize(void) +{ +#if defined(CONFIG_8xx_CONS_SMC1) || defined(CONFIG_8xx_CONS_SMC2) + serial_register(&serial_smc_device); +#endif +#if defined(CONFIG_8xx_CONS_SCC1) || defined(CONFIG_8xx_CONS_SCC2) || \ + defined(CONFIG_8xx_CONS_SCC3) || defined(CONFIG_8xx_CONS_SCC4) + serial_register(&serial_scc_device); +#endif +} + #ifdef CONFIG_MODEM_SUPPORT void disable_putc(void) { diff --git a/common/serial.c b/common/serial.c index 7423920b93..5cbfb6d595 100644 --- a/common/serial.c +++ b/common/serial.c @@ -40,6 +40,8 @@ static void serial_null(void) void name(void) \ __attribute__((weak, alias("serial_null"))); +serial_initfunc(mpc8xx_serial_initialize); + void serial_register(struct serial_device *dev) { #ifdef CONFIG_NEEDS_MANUAL_RELOC @@ -57,14 +59,7 @@ void serial_register(struct serial_device *dev) void serial_initialize(void) { -#if defined(CONFIG_8xx_CONS_SMC1) || defined(CONFIG_8xx_CONS_SMC2) - serial_register(&serial_smc_device); -#endif -#if defined(CONFIG_8xx_CONS_SCC1) || defined(CONFIG_8xx_CONS_SCC2) || \ - defined(CONFIG_8xx_CONS_SCC3) || defined(CONFIG_8xx_CONS_SCC4) - serial_register(&serial_scc_device); -#endif - + mpc8xx_serial_initialize(); #if defined(CONFIG_SYS_NS16550_SERIAL) #if defined(CONFIG_SYS_NS16550_COM1) serial_register(&eserial1_device); -- 2.30.2