[PATCH V2] env: Switch the callback static list to Kconfig
Christoph Niedermaier
cniedermaier at dh-electronics.com
Wed Nov 20 17:01:35 CET 2024
Switch the callback static list from the board configuration variable
CFG_ENV_CALLBACK_LIST_STATIC to Kconfig CONFIG_ENV_CALLBACK_LIST_STATIC.
Signed-off-by: Christoph Niedermaier <cniedermaier at dh-electronics.com>
Reviewed-by: Marek Vasut <marex at denx.de>
---
Cc: Joe Hershberger <joe.hershberger at ni.com>
Cc: Marek Vasut <marex at denx.de>
Cc: Tom Rini <trini at konsulko.com>
Cc: u-boot at dh-electronics.com
---
V2: - Fix typo in commit message
---
doc/develop/environment.rst | 4 ++--
env/Kconfig | 13 +++++++++++++
include/env_callback.h | 7 +------
3 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/doc/develop/environment.rst b/doc/develop/environment.rst
index e1783462bb..e46cd39d60 100644
--- a/doc/develop/environment.rst
+++ b/doc/develop/environment.rst
@@ -18,8 +18,8 @@ The callbacks are named and associated with a function using the
U_BOOT_ENV_CALLBACK macro in your board or driver code.
These callbacks are associated with variables in one of two ways. The
-static list can be added to by defining CFG_ENV_CALLBACK_LIST_STATIC
-in the board configuration to a string that defines a list of
+static list can be added to by defining CONFIG_ENV_CALLBACK_LIST_STATIC
+in the board defconfig via menuconfig to a string that defines a list of
associations. The list must be in the following format::
entry = variable_name[:callback_name]
diff --git a/env/Kconfig b/env/Kconfig
index 031cf58186..aaf0b1fe9a 100644
--- a/env/Kconfig
+++ b/env/Kconfig
@@ -21,6 +21,19 @@ config ENV_SOURCE_FILE
environment is assumed to come from the ad-hoc
CFG_EXTRA_ENV_SETTINGS #define
+config ENV_CALLBACK_LIST_STATIC
+ string "Static callbacks list"
+ default ""
+ help
+ The environment callbacks are associated with variables in a
+ static list. Define this list in the following format:
+
+ entry = variable_name[:callback_name]
+ list = entry[,list]
+
+ If the callback name is not specified, then the callback is deleted.
+ Spaces are also allowed anywhere in the list.
+
config SAVEENV
def_bool y if CMD_SAVEENV
diff --git a/include/env_callback.h b/include/env_callback.h
index bc8ff1923e..47a31f6cf5 100644
--- a/include/env_callback.h
+++ b/include/env_callback.h
@@ -14,11 +14,6 @@
#define ENV_CALLBACK_VAR ".callbacks"
-/* Board configs can define additional static callback bindings */
-#ifndef CFG_ENV_CALLBACK_LIST_STATIC
-#define CFG_ENV_CALLBACK_LIST_STATIC
-#endif
-
#ifdef CONFIG_SILENT_CONSOLE
#define SILENT_CALLBACK "silent:silent,"
#else
@@ -90,7 +85,7 @@
SILENT_CALLBACK \
"stdin:console,stdout:console,stderr:console," \
"serial#:serialno," \
- CFG_ENV_CALLBACK_LIST_STATIC
+ CONFIG_ENV_CALLBACK_LIST_STATIC
#ifndef CONFIG_XPL_BUILD
void env_callback_init(struct env_entry *var_entry);
--
2.30.2
More information about the U-Boot
mailing list