[PATCH] spl: Always define preloader_console_init
Samuel Holland
samuel at sholland.org
Fri May 8 01:08:10 CEST 2020
A large number of boards call preloader_console_init unconditionally.
Currently, they fail to build with CONFIG_SPL_SERIAL=n, because the
function is undefined in that case. To fix the build, always define
preloader_console_init, but make it no-op when CONFIG_SPL_SERIAL=n.
For the few boards that did check for CONFIG_SPL_SERIAL before calling
preloader_console_init, remove the checks, since the function can now
be called unconditionally.
Signed-off-by: Samuel Holland <samuel at sholland.org>
---
arch/arm/mach-omap2/boot-common.c | 3 +--
arch/arm/mach-uniphier/spl_board_init.c | 2 --
common/spl/spl.c | 7 +++----
3 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/arch/arm/mach-omap2/boot-common.c b/arch/arm/mach-omap2/boot-common.c
index 7538523724..d57382aabe 100644
--- a/arch/arm/mach-omap2/boot-common.c
+++ b/arch/arm/mach-omap2/boot-common.c
@@ -194,10 +194,9 @@ u32 spl_mmc_boot_mode(const u32 boot_device)
void spl_board_init(void)
{
-#ifdef CONFIG_SPL_SERIAL_SUPPORT
/* Prepare console output */
preloader_console_init();
-#endif
+
#if defined(CONFIG_SPL_NAND_SUPPORT) || defined(CONFIG_SPL_ONENAND_SUPPORT)
gpmc_init();
#endif
diff --git a/arch/arm/mach-uniphier/spl_board_init.c b/arch/arm/mach-uniphier/spl_board_init.c
index c7262d70a5..48764a1870 100644
--- a/arch/arm/mach-uniphier/spl_board_init.c
+++ b/arch/arm/mach-uniphier/spl_board_init.c
@@ -112,9 +112,7 @@ void spl_board_init(void)
initdata->early_clk_init();
-#ifdef CONFIG_SPL_SERIAL_SUPPORT
preloader_console_init();
-#endif
ret = initdata->dpll_init(bd);
if (ret) {
diff --git a/common/spl/spl.c b/common/spl/spl.c
index b0f0e1557b..fc5cbbbeba 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -574,8 +574,7 @@ void board_init_f(ulong dummy)
}
}
- if (CONFIG_IS_ENABLED(SERIAL_SUPPORT))
- preloader_console_init();
+ preloader_console_init();
}
#endif
@@ -724,13 +723,13 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
jump_to_image_no_args(&spl_image);
}
-#ifdef CONFIG_SPL_SERIAL_SUPPORT
/*
* This requires UART clocks to be enabled. In order for this to work the
* caller must ensure that the gd pointer is valid.
*/
void preloader_console_init(void)
{
+#ifdef CONFIG_SPL_SERIAL_SUPPORT
gd->baudrate = CONFIG_BAUDRATE;
serial_init(); /* serial communications setup */
@@ -744,8 +743,8 @@ void preloader_console_init(void)
#ifdef CONFIG_SPL_DISPLAY_PRINT
spl_display_print();
#endif
-}
#endif
+}
/**
* This function is called before the stack is changed from initial stack to
--
2.24.1
More information about the U-Boot
mailing list