diff options
author | Simon Glass <sjg@chromium.org> | 2023-01-28 15:00:18 -0700 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2023-02-06 13:04:53 -0500 |
commit | 0041b1c09a6bae62df36116315b49f3dea7e118b (patch) | |
tree | d01a643e50f088528de42d3c1dddd11898be5c63 | |
parent | d472e93ab4d0e037990f2db33f014ac8fcbeac9d (diff) |
bootstd: Allow enabling BOOTSTD_FULL without needing EXPO
It is sometimes useful to have one without the other, e.g. on a device
without a display, since at present the expo feature requires CONFIG_VIDEO
to be enabled.
Update the Makefile and bootflow command to support this, as well as the
EXPO dependency.
Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | boot/Kconfig | 1 | ||||
-rw-r--r-- | boot/Makefile | 4 | ||||
-rw-r--r-- | cmd/bootflow.c | 21 |
3 files changed, 16 insertions, 10 deletions
diff --git a/boot/Kconfig b/boot/Kconfig index fdcfbae7b2..98e194fc2b 100644 --- a/boot/Kconfig +++ b/boot/Kconfig @@ -561,6 +561,7 @@ endif # BOOTMETH_VBE config EXPO bool "Support for expos - groups of scenes displaying a UI" + depends on VIDEO default y if BOOTMETH_VBE help An expo is a way of presenting and collecting information from the diff --git a/boot/Makefile b/boot/Makefile index f990e66f52..43baf2b89b 100644 --- a/boot/Makefile +++ b/boot/Makefile @@ -30,7 +30,7 @@ obj-$(CONFIG_$(SPL_TPL_)BOOTMETH_SANDBOX) += bootmeth_sandbox.o obj-$(CONFIG_$(SPL_TPL_)BOOTMETH_SCRIPT) += bootmeth_script.o ifdef CONFIG_$(SPL_TPL_)BOOTSTD_FULL obj-$(CONFIG_$(SPL_TPL_)CMD_BOOTEFI_BOOTMGR) += bootmeth_efi_mgr.o -obj-$(CONFIG_$(SPL_TPL_)BOOTSTD) += bootflow_menu.o +obj-$(CONFIG_$(SPL_TPL_)EXPO) += bootflow_menu.o endif obj-$(CONFIG_$(SPL_TPL_)OF_LIBFDT) += image-fdt.o @@ -48,7 +48,7 @@ ifdef CONFIG_SPL_BUILD obj-$(CONFIG_SPL_LOAD_FIT) += common_fit.o endif -obj-$(CONFIG_$(SPL_TPL_)BOOTMETH_VBE) += expo.o scene.o scene_menu.o +obj-$(CONFIG_$(SPL_TPL_)EXPO) += expo.o scene.o scene_menu.o obj-$(CONFIG_$(SPL_TPL_)BOOTMETH_VBE) += vbe.o vbe_request.o obj-$(CONFIG_$(SPL_TPL_)BOOTMETH_VBE_SIMPLE) += vbe_simple.o diff --git a/cmd/bootflow.c b/cmd/bootflow.c index 692bc6d117..3548bbb683 100644 --- a/cmd/bootflow.c +++ b/cmd/bootflow.c @@ -394,15 +394,20 @@ static int do_bootflow_menu(struct cmd_tbl *cmdtp, int flag, int argc, if (ret) return CMD_RET_FAILURE; - ret = bootflow_menu_run(std, text_mode, &bflow); - if (ret) { - if (ret == -EAGAIN) - printf("Nothing chosen\n"); - else - printf("Menu failed (err=%d)\n", ret); - - return CMD_RET_FAILURE; + if (IS_ENABLED(CONFIG_EXPO)) { + ret = bootflow_menu_run(std, text_mode, &bflow); + if (ret) { + if (ret == -EAGAIN) + printf("Nothing chosen\n"); + else + printf("Menu failed (err=%d)\n", ret); + } + } else { + printf("Menu not supported\n"); + ret = -ENOSYS; } + if (ret) + return CMD_RET_FAILURE; printf("Selected: %s\n", bflow->os_name ? bflow->os_name : bflow->name); std->cur_bootflow = bflow; |