aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2024-08-21 10:19:25 -0600
committerTom Rini <trini@konsulko.com>2024-08-26 14:06:08 -0600
commit66ca5b78640578d6176031b3cc1018dc4e550dd3 (patch)
tree9ea8c5d1803c7c8ad48e1db03b2965912d5cc30b
parentd9902107027a41fc6a27b10f6e030c5a2465936b (diff)
downloadu-boot-66ca5b78640578d6176031b3cc1018dc4e550dd3.tar.gz
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 <sjg@chromium.org>
-rw-r--r--common/hwconfig.c8
-rw-r--r--include/asm-generic/global_data.h12
-rw-r--r--lib/asm-offsets.c2
3 files changed, 17 insertions, 5 deletions
diff --git a/common/hwconfig.c b/common/hwconfig.c
index afaa6cb37ab..25a8cd5bf5d 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 6445bd477d4..d6c15e2c406 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
*
@@ -151,13 +154,14 @@ struct global_data {
*/
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 4e2dbda9a71..b6bbcbf76ca 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;
}