]> git.baikalelectronics.ru Git - uboot.git/commit
env_internal.h: add alternative ENV_SAVE_PTR macro
authorRasmus Villemoes <rasmus.villemoes@prevas.dk>
Wed, 19 Feb 2020 09:47:40 +0000 (09:47 +0000)
committerTom Rini <trini@konsulko.com>
Fri, 24 Apr 2020 14:10:00 +0000 (10:10 -0400)
commit59dc25807d0bdc1f41c88b0237d6b405b2ef8a0f
tree5d962977aa083cf211c57c06516dbfbaf0bfd118
parent9de6424b609067f299b34c3cd9f22619729dfab5
env_internal.h: add alternative ENV_SAVE_PTR macro

The current definition of the env_save_ptr does not take SPL_SAVEENV
into account. Moreover, the way it is implemented means that drivers
need to guard the definitions of their _save methods with ifdefs to
avoid "defined but unused" warnings in case CMD_SAVEENV=n.

The ifdeffery can be avoided by using a "something ? x : NULL"
construction instead and still have the compiler elide the _save
method when it is not referenced. Unfortunately we can't just switch
the existing env_save_ptr macro, since that would give a lot of build
errors unless all the ifdeffery is removed at the same time.
Conversely, removing that ifdeffery first would merely lead to the
"defined but unused" warnings temporarily, but for some storage
drivers it requires a bit more work than just removing their private
CMD_SAVEENV logic.

So introduce an alternative to env_save_ptr, which for lack of a
better name is simply uppercased, allowing one to update storage
drivers piecemeal to both reduce their ifdeffery and honour
CONFIG_SPL_SAVEENV.

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
include/env_internal.h