diff options
author | Marek Vasut <marek.vasut+renesas@mailbox.org> | 2024-10-20 17:43:12 +0200 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2024-10-24 11:19:55 -0600 |
commit | f692cfeeb3361ea25f1c06780e477238ef769c02 (patch) | |
tree | 9e5e93ce21a572be4eebd3d7dc62e618cfc325a3 | |
parent | 3cf94b6f41dfb8e237d8b62cb90439cb7f5183c1 (diff) |
boot: Introduce BOOTSTD_MENU to control bootflow menu build
The bootflow_menu.c code depends on e.g. scene_txt_set_font(),
which is only built when CONFIG_EXPO is enabled. Introduce new
Kconfig symbol BOOTSTD_MENU which depends on EXPO to prevent
triggering errors like these in case e.g. CONFIG_VIDEO=n :
"
boot/bootflow_menu.c:158:(.text+0x8851): undefined reference to `scene_txt_set_font'
"
Make the symbol depend on BOOTSTD_FULL as well to get rid of
the Makefile dependency workaround. Since BOOTSTD_FULL is not
available in SPL, do not define SPL variant of BOOTSTD_MENU.
Fix up bootflow test accordingly.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | boot/Kconfig | 7 | ||||
-rw-r--r-- | boot/Makefile | 5 | ||||
-rw-r--r-- | test/boot/bootflow.c | 3 |
3 files changed, 11 insertions, 4 deletions
diff --git a/boot/Kconfig b/boot/Kconfig index fe2919f18c4..b168b6bbcc2 100644 --- a/boot/Kconfig +++ b/boot/Kconfig @@ -469,6 +469,13 @@ config BOOTSTD_BOOTCOMMAND standard boot does not support all of the features of distro boot yet. +config BOOTSTD_MENU + bool "Provide a menu of available bootflows for standard boot" + depends on BOOTSTD_FULL && EXPO + default y + help + Provide a menu of available bootflows and related options. + config BOOTSTD_PROG bool "Use programmatic boot" depends on !CMDLINE diff --git a/boot/Makefile b/boot/Makefile index b24f806d5bf..0e0afad68d1 100644 --- a/boot/Makefile +++ b/boot/Makefile @@ -24,6 +24,7 @@ obj-$(CONFIG_$(PHASE_)BOOTSTD) += bootflow.o obj-$(CONFIG_$(PHASE_)BOOTSTD) += bootmeth-uclass.o obj-$(CONFIG_$(PHASE_)BOOTSTD) += bootstd-uclass.o +obj-$(CONFIG_$(PHASE_)BOOTSTD_MENU) += bootflow_menu.o obj-$(CONFIG_$(PHASE_)BOOTSTD_PROG) += prog_boot.o obj-$(CONFIG_$(PHASE_)BOOTMETH_EXTLINUX) += bootmeth_extlinux.o @@ -35,10 +36,6 @@ obj-$(CONFIG_$(PHASE_)BOOTMETH_SANDBOX) += bootmeth_sandbox.o obj-$(CONFIG_$(PHASE_)BOOTMETH_SCRIPT) += bootmeth_script.o obj-$(CONFIG_$(PHASE_)CEDIT) += cedit.o obj-$(CONFIG_$(PHASE_)BOOTMETH_EFI_BOOTMGR) += bootmeth_efi_mgr.o -ifdef CONFIG_$(PHASE_)BOOTSTD_FULL -obj-$(CONFIG_$(PHASE_)EXPO) += bootflow_menu.o -obj-$(CONFIG_$(PHASE_)BOOTSTD) += bootflow_menu.o -endif obj-$(CONFIG_$(PHASE_)OF_LIBFDT) += fdt_support.o obj-$(CONFIG_$(PHASE_)FDT_SIMPLEFB) += fdt_simplefb.o diff --git a/test/boot/bootflow.c b/test/boot/bootflow.c index 154dea70a59..0d4e966892e 100644 --- a/test/boot/bootflow.c +++ b/test/boot/bootflow.c @@ -857,6 +857,9 @@ static int bootflow_menu_theme(struct unit_test_state *uts) ofnode node; int i; + if (!CONFIG_IS_ENABLED(BOOTSTD_MENU)) + return -EAGAIN; + ut_assertok(scan_mmc4_bootdev(uts)); ut_assertok(bootflow_menu_new(&exp)); |