From 66ca5b78640578d6176031b3cc1018dc4e550dd3 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Wed, 21 Aug 2024 10:19:25 -0600 Subject: [PATCH] global_data: Remove environment members if not used If the environment is not enabled we don't need these fields in global_data. Make them conditional. Make these fields conditional. Move env_buf up one so it can share an #ifdef. Signed-off-by: Simon Glass --- common/hwconfig.c | 8 +++++++- include/asm-generic/global_data.h | 12 ++++++++---- lib/asm-offsets.c | 2 ++ 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/common/hwconfig.c b/common/hwconfig.c index afaa6cb37a..25a8cd5bf5 100644 --- a/common/hwconfig.c +++ b/common/hwconfig.c @@ -77,7 +77,13 @@ static const char *__hwconfig(const char *opt, size_t *arglen, /* if we are passed a buffer use it, otherwise try the environment */ if (!env_hwconfig) { - if (!(gd->flags & GD_FLG_ENV_READY) && gd->env_valid != ENV_VALID) { +#if CONFIG_IS_ENABLED(ENV_SUPPORT) + if (!(gd->flags & GD_FLG_ENV_READY) && + gd->env_valid != ENV_VALID) +#else + if (true) +#endif + { printf("WARNING: Calling __hwconfig without a buffer " "and before environment is ready\n"); return NULL; diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h index 6445bd477d..d6c15e2c40 100644 --- a/include/asm-generic/global_data.h +++ b/include/asm-generic/global_data.h @@ -86,6 +86,7 @@ struct global_data { * @cpu_clk: CPU clock rate in Hz */ unsigned long cpu_clk; +#if CONFIG_IS_ENABLED(ENV_SUPPORT) /** * @env_addr: address of environment structure * @@ -93,6 +94,7 @@ struct global_data { * environment variables. */ unsigned long env_addr; +#endif /* ENV_SUPPORT */ /** * @ram_base: base address of RAM used by U-Boot */ @@ -134,6 +136,7 @@ struct global_data { * @baudrate: baud rate of the serial interface */ unsigned int baudrate; +#if CONFIG_IS_ENABLED(ENV_SUPPORT) /** * @env_has_init: bit mask indicating environment locations * @@ -150,14 +153,15 @@ struct global_data { * @env_load_prio: priority of the loaded environment */ char env_load_prio; - /** - * @fdt_src: Source of FDT - */ - enum fdt_source_t fdt_src; /** * @env_buf: buffer for env_get() before reloc */ char env_buf[32]; +#endif /* ENV_SUPPORT */ + /** + * @fdt_src: Source of FDT + */ + enum fdt_source_t fdt_src; /** * @arch: architecture-specific data */ diff --git a/lib/asm-offsets.c b/lib/asm-offsets.c index 4e2dbda9a7..b6bbcbf76c 100644 --- a/lib/asm-offsets.c +++ b/lib/asm-offsets.c @@ -44,7 +44,9 @@ int main(void) DEFINE(GD_NEW_GD, offsetof(struct global_data, new_gd)); +#if CONFIG_IS_ENABLED(ENV_SUPPORT) DEFINE(GD_ENV_ADDR, offsetof(struct global_data, env_addr)); +#endif return 0; } -- 2.39.5