env: migrate static flags list to Kconfig
Environment callbacks can already be configured from Kconfig with CONFIG_ENV_CALLBACK_LIST_STATIC, but static environment flags still require board headers to define CFG_ENV_FLAGS_LIST_STATIC. Add CONFIG_ENV_FLAGS_LIST_STATIC and use it as the only board-provided static environment flags list. Convert the remaining default-config users from CFG_ENV_FLAGS_LIST_STATIC to defconfig settings and drop the legacy header macro from ENV_FLAGS_LIST_STATIC. Move the environment flags format documentation out of README and into the developer environment documentation. Include the format in the Kconfig help as well. This lets boards configure writeable-list policy and type validation from defconfig without adding a config header solely for env flags. This preserves the behavior of default configs. Header-only cases that were inactive in upstream defconfigs are not converted into defconfig entries: iot2050 can add its list when enabling ENV_WRITEABLE_LIST, and smegw01 can add mmcdev:dw support if the unlocked SYS_BOOT_LOCKED=n configuration is needed. Signed-off-by: James Hilliard <james.hilliard1@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Alexander Sverdlin <alexander.sverdlin@siemens.com> Reviewed-by: Walter Schweizer <walter.schweizer@siemens.com>
This commit is contained in:
@@ -49,3 +49,43 @@ The signature of the callback functions is::
|
||||
include/search.h
|
||||
|
||||
The return value is 0 if the variable change is accepted and 1 otherwise.
|
||||
|
||||
Flags for environment variables
|
||||
-------------------------------
|
||||
|
||||
Environment flags validate the values given to environment variables and
|
||||
restrict how environment variables can be changed.
|
||||
|
||||
The static list is configured with CONFIG_ENV_FLAGS_LIST_STATIC. The list
|
||||
must be in the following format::
|
||||
|
||||
type_attribute = [s|d|x|b|i|m]
|
||||
access_attribute = [a|r|o|c|w]
|
||||
attributes = type_attribute[access_attribute]
|
||||
entry = variable_name[:attributes]
|
||||
list = entry[,list]
|
||||
|
||||
The type attributes are:
|
||||
|
||||
* s - String (default)
|
||||
* d - Decimal
|
||||
* x - Hexadecimal
|
||||
* b - Boolean ([1yYtT|0nNfF])
|
||||
* i - IP address, if networking is enabled
|
||||
* m - MAC address, if networking is enabled
|
||||
|
||||
The access attributes are:
|
||||
|
||||
* a - Any (default)
|
||||
* r - Read-only
|
||||
* o - Write-once
|
||||
* c - Change-default
|
||||
* w - Writeable, if CONFIG_ENV_WRITEABLE_LIST is enabled
|
||||
|
||||
CONFIG_ENV_FLAGS_LIST_DEFAULT defines the ``.flags`` variable in the
|
||||
default or embedded environment. Any association in ``.flags`` overrides
|
||||
an association in the static list.
|
||||
|
||||
If CONFIG_REGEX is defined, the variable name is evaluated as a regular
|
||||
expression. This allows multiple variables to define the same flags without
|
||||
explicitly listing them all.
|
||||
|
||||
Reference in New Issue
Block a user