diff options
author | Pali Rohár <pali@kernel.org> | 2022-07-10 13:42:55 +0200 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2022-11-21 09:23:00 -0500 |
commit | 2827c2f07d6a5c498262cee7fe78aacfbf44f174 (patch) | |
tree | f42641fdf3688dfbd6d518fb882beb9e6911e39b | |
parent | bebb393b340295edb9ba50a996fc0510cd1b6ac0 (diff) | |
download | u-boot-2827c2f07d6a5c498262cee7fe78aacfbf44f174.zip u-boot-2827c2f07d6a5c498262cee7fe78aacfbf44f174.tar.gz u-boot-2827c2f07d6a5c498262cee7fe78aacfbf44f174.tar.bz2 |
Fix usage of CONFIG_PREBOOT
Due to usage of PREBOOT in Kconfig, macro CONFIG_PREBOOT is always defined
when CONFIG_USE_PREBOOT is enabled. In case CONFIG_PREBOOT is not
explicitly enabled it is set to empty C string and therefore
'#ifdef CONFIG_PREBOOT' guard does not work. Fix this issue by introducing
a new Kconfig symbol PREBOOT_DEFINED which cause to define new C macro
CONFIG_PREBOOT_DEFINED only when CONFIG_PREBOOT is really defined.
Change usage of '#ifdef CONFIG_PREBOOT' by '#ifdef CONFIG_USE_PREBOOT' for
code which checks if preboot code would be called and by
'#ifdef CONFIG_PREBOOT_DEFINED' for defining preboot code.
Signed-off-by: Pali Rohár <pali@kernel.org>
-rw-r--r-- | board/boundary/nitrogen6x/nitrogen6x.c | 4 | ||||
-rw-r--r-- | boot/Kconfig | 4 | ||||
-rw-r--r-- | include/env_default.h | 2 |
3 files changed, 7 insertions, 3 deletions
diff --git a/board/boundary/nitrogen6x/nitrogen6x.c b/board/boundary/nitrogen6x/nitrogen6x.c index 83bb445..382c01d 100644 --- a/board/boundary/nitrogen6x/nitrogen6x.c +++ b/board/boundary/nitrogen6x/nitrogen6x.c @@ -929,7 +929,7 @@ U_BOOT_CMD( "Returns 0 (true) to shell if key is pressed." ); -#ifdef CONFIG_PREBOOT +#ifdef CONFIG_USE_PREBOOT static char const kbd_magic_prefix[] = "key_magic"; static char const kbd_command_prefix[] = "key_cmd"; @@ -989,7 +989,7 @@ int misc_init_r(void) gpio_request(IMX_GPIO_NR(2, 3), "search"); gpio_request(IMX_GPIO_NR(7, 13), "volup"); gpio_request(IMX_GPIO_NR(4, 5), "voldown"); -#ifdef CONFIG_PREBOOT +#ifdef CONFIG_USE_PREBOOT preboot_keys(); #endif diff --git a/boot/Kconfig b/boot/Kconfig index d5c582e..4a001bc 100644 --- a/boot/Kconfig +++ b/boot/Kconfig @@ -1492,6 +1492,10 @@ config PREBOOT help This is the default of "preboot" environment variable. +config PREBOOT_DEFINED + bool + default y if PREBOOT != "" + config DEFAULT_FDT_FILE string "Default fdt file" help diff --git a/include/env_default.h b/include/env_default.h index 4e461c8..7c9c00a 100644 --- a/include/env_default.h +++ b/include/env_default.h @@ -62,7 +62,7 @@ const char default_environment[] = { #ifdef CONFIG_SYS_DISABLE_AUTOLOAD "autoload=0\0" #endif -#ifdef CONFIG_PREBOOT +#ifdef CONFIG_PREBOOT_DEFINED "preboot=" CONFIG_PREBOOT "\0" #endif #ifdef CONFIG_ROOTPATH |