option: Decouple API from CMOS backend

Prepare to allow using other backends to store options.

Change-Id: I3f838d27bf476207c6dc8f2c1f15c3fa9ae47d87
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/54727
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 11:35:15 +02:00
committed by Felix Held
parent b2a4c27a2f
commit 07056feba0
2 changed files with 26 additions and 17 deletions

View File

@@ -7,25 +7,23 @@
void sanitize_cmos(void);
enum cb_err cmos_set_uint_option(const char *name, unsigned int *value);
enum cb_err cmos_get_uint_option(unsigned int *dest, const char *name);
static inline enum cb_err set_uint_option(const char *name, unsigned int value)
{
if (CONFIG(USE_OPTION_TABLE))
return cmos_set_uint_option(name, &value);
return CB_CMOS_OTABLE_DISABLED;
}
#if !CONFIG(USE_OPTION_TABLE)
static inline unsigned int get_uint_option(const char *name, const unsigned int fallback)
{
if (CONFIG(USE_OPTION_TABLE)) {
unsigned int value = 0;
if (cmos_get_uint_option(&value, name) == CB_SUCCESS)
return value;
}
return fallback;
}
static inline enum cb_err set_uint_option(const char *name, unsigned int value)
{
return CB_CMOS_OTABLE_DISABLED;
}
#else /* USE_OPTION_TABLE */
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_H_ */