From 17852e61df41877a7f2a37f0af547017d0bcc735 Mon Sep 17 00:00:00 2001 From: Angel Pons Date: Thu, 20 May 2021 15:30:59 +0200 Subject: option: Turn CMOS option backend into choice In order to add more option backends, transform the current CMOS option backend into a Kconfig choice. Replace the `select` directives, as they cannot be used with choice options. Change-Id: Id3180e9991f0e763b4bae93a92d40668e7fc99bc Signed-off-by: Patrick Rudolph Signed-off-by: Angel Pons Reviewed-on: https://review.coreboot.org/c/coreboot/+/54728 Tested-by: build bot (Jenkins) Reviewed-by: Arthur Heymans --- payloads/Kconfig | 1 - src/Kconfig | 9 +++++++++ src/include/option.h | 6 +++--- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/payloads/Kconfig b/payloads/Kconfig index 627bb95c9c..386b207e7a 100644 --- a/payloads/Kconfig +++ b/payloads/Kconfig @@ -133,7 +133,6 @@ config NVRAMCUI_SECONDARY_PAYLOAD bool "Load nvramcui as a secondary payload" default n depends on ARCH_X86 && HAVE_OPTION_TABLE - select USE_OPTION_TABLE help nvramcui can be loaded as a secondary payload under SeaBIOS, GRUB, or any other payload that can load additional payloads. diff --git a/src/Kconfig b/src/Kconfig index 6d0ba0fedf..b019e9d8b2 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -120,6 +120,13 @@ config UTIL_GENPARSER Otherwise, say N to use the provided pregenerated scanner/parser. +choice + prompt "Option backend to use" + default USE_OPTION_TABLE if NVRAMCUI_SECONDARY_PAYLOAD + +config OPTION_BACKEND_NONE + bool "None" + config USE_OPTION_TABLE bool "Use CMOS for configuration values" depends on HAVE_OPTION_TABLE @@ -127,6 +134,8 @@ config USE_OPTION_TABLE Enable this option if coreboot shall read options from the "CMOS" NVRAM instead of using hard-coded values. +endchoice + config STATIC_OPTION_TABLE bool "Load default configuration values into CMOS on each boot" depends on USE_OPTION_TABLE diff --git a/src/include/option.h b/src/include/option.h index 40893788f3..3a00570064 100644 --- a/src/include/option.h +++ b/src/include/option.h @@ -7,7 +7,7 @@ void sanitize_cmos(void); -#if !CONFIG(USE_OPTION_TABLE) +#if CONFIG(OPTION_BACKEND_NONE) static inline unsigned int get_uint_option(const char *name, const unsigned int fallback) { @@ -19,11 +19,11 @@ static inline enum cb_err set_uint_option(const char *name, unsigned int value) return CB_CMOS_OTABLE_DISABLED; } -#else /* USE_OPTION_TABLE */ +#else /* !OPTION_BACKEND_NONE */ unsigned int get_uint_option(const char *name, const unsigned int fallback); enum cb_err set_uint_option(const char *name, unsigned int value); -#endif /* USE_OPTION_TABLE? */ +#endif /* OPTION_BACKEND_NONE? */ #endif /* _OPTION_H_ */ -- cgit v1.2.3