env: Switch the callback static list to Kconfig
authorChristoph Niedermaier <cniedermaier@dh-electronics.com>
Wed, 20 Nov 2024 16:01:35 +0000 (17:01 +0100)
committerTom Rini <trini@konsulko.com>
Fri, 6 Dec 2024 22:37:43 +0000 (16:37 -0600)
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@dh-electronics.com>
Reviewed-by: Marek Vasut <marex@denx.de>
doc/develop/environment.rst
env/Kconfig
include/env_callback.h

index e178346..e46cd39 100644 (file)
@@ -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]
index 031cf58..aaf0b1f 100644 (file)
@@ -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
 
index bc8ff19..47a31f6 100644 (file)
 
 #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);