mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-23 19:43:33 +00:00
6e7df1d151
At this point, the remaining places where we have a symbol that is defined as CONFIG_... are in fairly odd locations. While as much dead code has been removed as possible, some of these locations are simply less obvious at first. In other cases, this code is used, but was defined in such a way as to have been missed by earlier checks. Perform a rename of all such remaining symbols to be CFG_... rather than CONFIG_... Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
51 lines
2.1 KiB
ReStructuredText
51 lines
2.1 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0+
|
|
|
|
Environment implementation
|
|
==========================
|
|
|
|
See :doc:`../usage/environment` for usage information.
|
|
|
|
Callback functions for environment variables
|
|
--------------------------------------------
|
|
|
|
For some environment variables, the behavior of u-boot needs to change
|
|
when their values are changed. This functionality allows functions to
|
|
be associated with arbitrary variables. On creation, overwrite, or
|
|
deletion, the callback will provide the opportunity for some side
|
|
effect to happen or for the change to be rejected.
|
|
|
|
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
|
|
associations. The list must be 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.
|
|
|
|
Callbacks can also be associated by defining the ".callbacks" variable
|
|
with the same list format above. Any association in ".callbacks" will
|
|
override any association in the static list. You can define
|
|
CONFIG_ENV_CALLBACK_LIST_DEFAULT to a list (string) to define the
|
|
".callbacks" environment variable in the default or embedded environment.
|
|
|
|
If CONFIG_REGEX is defined, the variable_name above is evaluated as a
|
|
regular expression. This allows multiple variables to be connected to
|
|
the same callback without explicitly listing them all out.
|
|
|
|
The signature of the callback functions is::
|
|
|
|
int callback(const char *name, const char *value, enum env_op op, int flags)
|
|
|
|
* name - changed environment variable
|
|
* value - new value of the environment variable
|
|
* op - operation (create, overwrite, or delete)
|
|
* flags - attributes of the environment variable change, see flags H_* in
|
|
include/search.h
|
|
|
|
The return value is 0 if the variable change is accepted and 1 otherwise.
|