[PATCH 4/4] make env_entry::callback conditional on !CONFIG_SPL_BUILD

Simon Glass sjg at chromium.org
Fri Feb 28 00:40:48 CET 2020


On Thu, 27 Feb 2020 at 05:56, Rasmus Villemoes
<rasmus.villemoes at prevas.dk> wrote:
>
> The callback member of struct env_entry is always NULL for an SPL
> build. Removing it thus saves a bit of run-time memory in the
> SPL (when CONFIG_SPL_ENV_SUPPORT=y) since struct env_entry is embedded
> in struct env_entry_node - i.e. about 2KB for the normal case of
> 512+change hash table entries.
>
> Two small fixups are needed for this, all other references to the
> callback member are already under !CONFIG_SPL_BUILD: Don't initialize
> .callback in set_flags() - hsearch_r doesn't use that value
> anyway. And make env_callback_init() initialize ->callback to NULL for
> a new entry instead of relying on an unused or deleted entry having
> NULL in ->callback.
>
> Signed-off-by: Rasmus Villemoes <rasmus.villemoes at prevas.dk>
> ---
>  env/callback.c   | 2 ++
>  env/flags.c      | 1 -
>  include/search.h | 2 ++
>  lib/hashtable.c  | 1 -
>  4 files changed, 4 insertions(+), 2 deletions(-)
>

Reviewed-by: Simon Glass <sjg at chromium.org>


More information about the U-Boot mailing list