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 <patrick.rudolph@9elements.com>
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/54728
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
This commit is contained in:
Angel Pons 2021-05-20 15:30:59 +02:00
parent d059112eec
commit 17852e61df
3 changed files with 12 additions and 4 deletions

View File

@ -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.

View File

@ -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

View File

@ -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_ */