summaryrefslogtreecommitdiffstats
path: root/include/env_callback.h
Commit message (Collapse)AuthorAgeFilesLines
* env: remove callback.o for an SPL buildRasmus Villemoes2020-04-241-0/+6
| | | | | | | | | | | | | | | env.h says this about about callback declarations (U_BOOT_ENV_CALLBACK): * For SPL these are silently dropped to reduce code size, since environment * callbacks are not supported with SPL. So env_callback_init() does a lot of work to not find anything in the guaranteed empty env_clbk list. Drop callback.o entirely from the link and stub out the only public function defined in callback.o. This cuts about 600 bytes from the SPL on my ppc build. Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Reviewed-by: Simon Glass <sjg@chromium.org>
* env: net: U_BOOT_ENV_CALLBACKs should not depend on CMD_NETHeinrich Schuchardt2019-09-041-1/+1
| | | | | | | | | | | | | | | | Some environment variables are relevant for networking. For these U_BOOT_ENV_CALLBACKs have been defined. When the corresponding environment variable is updated the callback updates the state of the network sub-system. In the UEFI subsystem we can use the network even if CONFIG_CMD_NET is not defined. Let the usage of the U_BOOT_ENV_CALLBACKs depend on CONFIG_NET and not on CONFIG_CMD_NET. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* env: Drop the ENTRY typedefSimon Glass2019-08-111-1/+1
| | | | | | | | | | | U-Boot is not supposed to use typedef for structs anymore. Also this name is the same as the ENTRY() macro used in assembler files, and 'entry' itself is widely used in U-Boot (>8k matches). Drop the typedef and rename the struct to env_entry to reduce confusion. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* env: Move callback definitions to env.hSimon Glass2019-08-111-23/+0
| | | | | | | | | These definitions are effectively part of the 'public' API of the environment implementation since they do not require access to any internal variables. Move them to the env.h header. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* net: remove duplicate definition of ETHADDR_WILDCARDSimon Goldschmidt2019-01-241-2/+0
| | | | | | | | | | | ETHADDR_WILDCARD is defined as the same value in both env_flags.h and env_callback.h As env_callback.h includes env_flags.h, remove the duplicate definition from env_callback.h Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* SPDX: Convert all of our single license tags to Linux Kernel styleTom Rini2018-05-071-2/+1
| | | | | | | | | | | | | | | | | | | | When U-Boot started using SPDX tags we were among the early adopters and there weren't a lot of other examples to borrow from. So we picked the area of the file that usually had a full license text and replaced it with an appropriate SPDX-License-Identifier: entry. Since then, the Linux Kernel has adopted SPDX tags and they place it as the very first line in a file (except where shebangs are used, then it's second line) and with slightly different comment styles than us. In part due to community overlap, in part due to better tag visibility and in part for other minor reasons, switch over to that style. This commit changes all instances where we have a single declared license in the tag as both the before and after are identical in tag contents. There's also a few places where I found we did not have a tag and have introduced one. Signed-off-by: Tom Rini <trini@konsulko.com>
* Kconfig: cmd: Make networking command dependent on NETMichal Simek2018-02-271-1/+1
| | | | | | | | Enable networking command only when NET is enabled. And remove selecting NET for CMD_NET Signed-off-by: Michal Simek <michal.simek@xilinx.com> Signed-off-by: Tom Rini <trini@konsulko.com>
* usb: gadget: g_dnl: Sync internal SN variable with envSam Protsenko2017-09-051-0/+1
| | | | | | | | | | | | | | | | | | | | Since commit 842778a09104 ("usb: gadget: g_dnl: only set iSerialNumber if we have a serial#") "fastboot devices" stopped to show correct device serial number for TI boards, showing this line instead: ???????????? fastboot This is because serial# env variable could be set after g_dnl gadget was initialized (e.g. by using env_set() in the board file). To fix this, let's update internal serial number variable (g_dnl_serial) when "serial#" env var is changed. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Cc: Felipe Balbi <felipe.balbi@linux.intel.com> Tested-by: Heiko Schocher <hs@denx.de> Acked-by: Ɓukasz Majewski <lukma@denx.de> Reviewed-by: Marek Vasut <marex@denx.de>
* Allow CONFIG_REGEX to be disabled when CONFIG_NETJoe Hershberger2015-07-081-1/+3
| | | | | | | | | | | Instead of selecting REGEX when NET is enabled, make it the default, but allow boards that are tiny to disable it and lose functionality on all but the first Ethernet adapter. cm-bf548, bf538f-ezkit, and bf533-stamp need this. None appear to have more than one Ethernet interface. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* net: Handle ethaddr changes as an env callbackJoe Hershberger2015-05-211-1/+2
| | | | | | | | | | | When the ethaddr is changed in the env, update the device pdata at the same time (only if it is probed for the DM case; only if registered for the non-DM case). Again this gets us closer to completely non-polled env needed to simplify the net_loop. This requires that the NET feature select the REGEX feature. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* net: Use env callbacks for net variablesJoe Hershberger2015-05-211-1/+21
| | | | | | | | | | Instead of checking for changes to the env each time we enter the net_loop, use the env callbacks to update the values of the variables. Don't update the variables when the source was programmatic, since the variables were the source of the new value. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* env: Add regex support to env_attrsJoe Hershberger2015-05-211-2/+8
| | | | | | | Allow the features that use env_attrs to specify regexs for the name Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* env_callback.h: spl: mark callback as maybe_unusedJeroen Hofstee2014-07-181-1/+1
| | | | | | | | | | | | | When static inline is used in a header file the function should preferably be inlined and if not possible made a static function. When declared inside a c file there is a static function, which might be inlined. Since SPL uses a define to declare the static inline it becomes part of the c file although it is declared in a header and clang will warn that you have introduced unused static functions. Add maybe_unused to prevent such warnings. Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
* Add GPL-2.0+ SPDX-License-Identifier to source filesWolfgang Denk2013-07-241-17/+1
| | | | | | Signed-off-by: Wolfgang Denk <wd@denx.de> [trini: Fixup common/cmd_io.c] Signed-off-by: Tom Rini <trini@ti.com>
* env_callback: Mark find_env_callback as staticTom Rini2013-03-271-1/+0
| | | | | | | | | This is not called outside of env_callback.c so mark static, remove from <env_callback.h> Cc: Joe Hershberger <joe.hershberger@ni.com> Signed-off-by: Tom Rini <trini@ti.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* Refactor linker-generated arraysAlbert ARIBAUD2013-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Refactor linker-generated array code so that symbols which were previously linker-generated are now compiler- generated. This causes relocation records of type R_ARM_ABS32 to become R_ARM_RELATIVE, which makes code which uses LGA able to run before relocation as well as after. Note: this affects more than ARM targets, as linker- lists span possibly all target architectures, notably PowerPC. Conflicts: arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds arch/arm/cpu/armv7/omap-common/u-boot-spl.lds board/ait/cam_enc_4xx/u-boot-spl.lds board/davinci/da8xxevm/u-boot-spl-da850evm.lds board/davinci/da8xxevm/u-boot-spl-hawk.lds board/vpac270/u-boot-spl.lds Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
* lcd: implement a callback for splashimageNikita Kiryanov2013-03-111-0/+7
| | | | | | | | | | | | | On some architectures certain values of splashimage will lead to a data abort exception. Document the problem, and implement a callback for splashimage to reject such values. Cc: Anatolij Gustschin <agust@denx.de> Cc: Wolfgang Denk <wd@denx.de> Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il> Acked-by: Igor Grinberg <grinberg@compulab.co.il>
* env: don't generate callback list entries for SPLScott Wood2012-12-221-0/+8
| | | | | | | | | | | | | | SPL doesn't write to the environment. These list entries prevent the functions from being garbage-collected, even though nothing will look at the list. This caused several SPL builds (e.g. P2020RDB-PC_NAND) to break due to size limitations and/or unresolved symbols. A static inline function is used to provide a context in which we can consume the callback, and thus avoid unused function warnings. Signed-off-by: Scott Wood <scottwood@freescale.com> Acked-by: Joe Hershberger <joe.hershberger@gmail.com> Acked-by: Kim Phillips <kim.phillips@freescale.com>
* env: Add environment variable flagsJoe Hershberger2012-12-131-0/+2
| | | | | | | | | | | Currently just validates variable types as decimal, hexidecimal, boolean, ip address, and mac address. If the entry is not found in the env ".flags", then look in the static one. This allows the env to override the static definitions, but prevents the need to have every definition in the environment distracting you. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* env: Add a silent env handlerJoe Hershberger2012-12-131-0/+7
| | | | | | | | The silent variable now updates the global data flag anytime it is changed as well as after the env relocation (in case its value is different from the default env in such cases as NAND env) Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* env: Add a console env handlerJoe Hershberger2012-12-131-0/+1
| | | | | | Remove the hard-coded console handler and use a callback instead Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* env: Add a loadaddr env handlerJoe Hershberger2012-12-131-0/+1
| | | | | | Remove the hard-coded loadaddr handler and use a callback instead Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* env: Add a baudrate env handlerJoe Hershberger2012-12-131-0/+1
| | | | | | Remove the hard-coded baudrate handler and use a callback instead Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* env: Add a bootfile env handlerJoe Hershberger2012-12-131-0/+1
| | | | | | Remove the hard-coded bootfile handler and use a callback instead Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* env: Add support for callbacks to environment varsJoe Hershberger2012-12-131-0/+62
Add support for per-variable callbacks to the "hashtable" functions. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> !!!fix comment in callback