From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Rini Date: Mon, 3 May 2021 16:48:58 -0400 Subject: [RFC 6/7] bootstage: Eliminate when not enabled In-Reply-To: <20210503204859.18756-1-trini@konsulko.com> References: <20210503204859.18756-1-trini@konsulko.com> Message-ID: <20210503204859.18756-7-trini@konsulko.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de When we do not have bootstage enabled, rather than include an empty dummy function, we just don't reference it. This saves us space in some tight builds. This also shows a few cases where show_boot_progress was incorrectly guarded before. Cc: Simon Glass Signed-off-by: Tom Rini --- Moving to gcc-11 causes at least one well maintained and used board to now run out of space, and this saves us 400 bytes in SPL. --- arch/x86/cpu/cpu.c | 2 ++ board/Seagate/dockstar/dockstar.c | 2 ++ board/Seagate/goflexhome/goflexhome.c | 2 ++ board/bosch/shc/board.c | 6 +++--- board/buffalo/lsxl/lsxl.c | 2 +- board/k+p/kp_imx53/kp_imx53.c | 2 ++ board/st/stv0991/stv0991.c | 2 +- common/init/board_init.c | 2 ++ common/spl/spl.c | 2 ++ include/bootstage.h | 4 +++- 10 files changed, 20 insertions(+), 6 deletions(-) diff --git a/arch/x86/cpu/cpu.c b/arch/x86/cpu/cpu.c index 9c4edfcbfdaa..01dece5769c8 100644 --- a/arch/x86/cpu/cpu.c +++ b/arch/x86/cpu/cpu.c @@ -178,10 +178,12 @@ int default_print_cpuinfo(void) return 0; } +#if CONFIG_IS_ENABLED(BOOTSTAGE) void show_boot_progress(int val) { outb(val, POST_PORT); } +#endif #if !defined(CONFIG_SYS_COREBOOT) && !defined(CONFIG_EFI_STUB) /* diff --git a/board/Seagate/dockstar/dockstar.c b/board/Seagate/dockstar/dockstar.c index 380e37be5502..fb6919315804 100644 --- a/board/Seagate/dockstar/dockstar.c +++ b/board/Seagate/dockstar/dockstar.c @@ -140,6 +140,7 @@ void reset_phy(void) } #endif /* CONFIG_RESET_PHY_R */ +#if CONFIG_IS_ENABLED(BOOTSTAGE) #define GREEN_LED (1 << 14) #define ORANGE_LED (1 << 15) #define BOTH_LEDS (GREEN_LED | ORANGE_LED) @@ -169,3 +170,4 @@ void show_boot_progress(int val) break; } } +#endif diff --git a/board/Seagate/goflexhome/goflexhome.c b/board/Seagate/goflexhome/goflexhome.c index 4c19fa7195e8..af8cab7bdc73 100644 --- a/board/Seagate/goflexhome/goflexhome.c +++ b/board/Seagate/goflexhome/goflexhome.c @@ -142,6 +142,7 @@ void reset_phy(void) } #endif /* CONFIG_RESET_PHY_R */ +#if CONFIG_IS_ENABLED(BOOTSTAGE) #define GREEN_LED (1 << 14) #define ORANGE_LED (1 << 15) #define BOTH_LEDS (GREEN_LED | ORANGE_LED) @@ -175,3 +176,4 @@ void show_boot_progress(int val) break; } } +#endif diff --git a/board/bosch/shc/board.c b/board/bosch/shc/board.c index e89378188728..01d9ce4f71f9 100644 --- a/board/bosch/shc/board.c +++ b/board/bosch/shc/board.c @@ -188,7 +188,7 @@ static void __maybe_unused leds_set_booting(void) /* * Function to set the LEDs in the state "Bootloader error" */ -static void leds_set_failure(int state) +static void __maybe_unused leds_set_failure(int state) { #if defined(CONFIG_B_SAMPLE) /* Turn all blue and green LEDs off */ @@ -479,7 +479,7 @@ int board_eth_init(struct bd_info *bis) } #endif -#ifdef CONFIG_SHOW_BOOT_PROGRESS +#if CONFIG_IS_ENABLED(BOOTSTAGE) static void bosch_check_reset_pin(void) { if (readl(GPIO1_BASE + OMAP_GPIO_IRQSTATUS_SET_0) & RESET_MASK) { @@ -525,9 +525,9 @@ void show_boot_progress(int val) break; } } +#endif void arch_preboot_os(void) { leds_set_finish(); } -#endif diff --git a/board/buffalo/lsxl/lsxl.c b/board/buffalo/lsxl/lsxl.c index 34be601fdde6..738b6bc25cea 100644 --- a/board/buffalo/lsxl/lsxl.c +++ b/board/buffalo/lsxl/lsxl.c @@ -271,7 +271,7 @@ int misc_init_r(void) } #endif -#ifdef CONFIG_SHOW_BOOT_PROGRESS +#if CONFIG_IS_ENABLED(BOOTSTAGE) void show_boot_progress(int progress) { if (progress > 0) diff --git a/board/k+p/kp_imx53/kp_imx53.c b/board/k+p/kp_imx53/kp_imx53.c index cc8118b4ad4f..7c3a695cb258 100644 --- a/board/k+p/kp_imx53/kp_imx53.c +++ b/board/k+p/kp_imx53/kp_imx53.c @@ -155,6 +155,7 @@ int board_late_init(void) return ret; } +#if CONFIG_IS_ENABLED(BOOTSTAGE) #define GPIO_DR 0x0 #define GPIO_GDIR 0x4 #define GPIO_ALT1 0x1 @@ -203,3 +204,4 @@ void show_boot_progress(int status) gpio_direction_output(LED_RED, 1); } } +#endif diff --git a/board/st/stv0991/stv0991.c b/board/st/stv0991/stv0991.c index 3b0de82db283..57ca9f659c16 100644 --- a/board/st/stv0991/stv0991.c +++ b/board/st/stv0991/stv0991.c @@ -37,7 +37,7 @@ U_BOOT_DRVINFO(stv09911_serials) = { }; #endif -#ifdef CONFIG_SHOW_BOOT_PROGRESS +#if CONFIG_IS_ENABLED(BOOTSTAGE) void show_boot_progress(int progress) { printf("%i\n", progress); diff --git a/common/init/board_init.c b/common/init/board_init.c index 3f183ee11326..0965b96fa3ad 100644 --- a/common/init/board_init.c +++ b/common/init/board_init.c @@ -166,7 +166,9 @@ void board_init_f_init_reserve(ulong base) board_init_f_init_stack_protection(); } +#if CONFIG_IS_ENABLED(BOOTSTAGE) /* * Board-specific Platform code can reimplement show_boot_progress () if needed */ __weak void show_boot_progress(int val) {} +#endif diff --git a/common/spl/spl.c b/common/spl/spl.c index a0a608fd7725..eba77cace6df 100644 --- a/common/spl/spl.c +++ b/common/spl/spl.c @@ -58,10 +58,12 @@ binman_sym_declare(ulong, spl, size); /* Define board data structure */ static struct bd_info bdata __attribute__ ((section(".data"))); +#if CONFIG_IS_ENABLED(BOOTSTAGE) /* * Board-specific Platform code can reimplement show_boot_progress () if needed */ __weak void show_boot_progress(int val) {} +#endif #if defined(CONFIG_SPL_OS_BOOT) || CONFIG_IS_ENABLED(HANDOFF) || \ defined(CONFIG_SPL_ATF) diff --git a/include/bootstage.h b/include/bootstage.h index 00c85fb86aa2..f837a387c8c7 100644 --- a/include/bootstage.h +++ b/include/bootstage.h @@ -11,6 +11,8 @@ #ifndef _BOOTSTAGE_H #define _BOOTSTAGE_H +#include + /* Flags for each bootstage record */ enum bootstage_flags { BOOTSTAGEF_ERROR = 1 << 0, /* Error record */ @@ -218,7 +220,7 @@ enum bootstage_id { */ ulong timer_get_boot_us(void); -#if defined(USE_HOSTCC) +#if defined(USE_HOSTCC) || !CONFIG_IS_ENABLED(BOOTSTAGE) #define show_boot_progress(val) do {} while (0) #else /** -- 2.17.1