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>
This commit is contained in:
Simon Glass 2024-08-21 10:19:25 -06:00 committed by Tom Rini
parent d990210702
commit 66ca5b7864
3 changed files with 17 additions and 5 deletions

View File

@ -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 we are passed a buffer use it, otherwise try the environment */
if (!env_hwconfig) { 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 " printf("WARNING: Calling __hwconfig without a buffer "
"and before environment is ready\n"); "and before environment is ready\n");
return NULL; return NULL;

View File

@ -86,6 +86,7 @@ struct global_data {
* @cpu_clk: CPU clock rate in Hz * @cpu_clk: CPU clock rate in Hz
*/ */
unsigned long cpu_clk; unsigned long cpu_clk;
#if CONFIG_IS_ENABLED(ENV_SUPPORT)
/** /**
* @env_addr: address of environment structure * @env_addr: address of environment structure
* *
@ -93,6 +94,7 @@ struct global_data {
* environment variables. * environment variables.
*/ */
unsigned long env_addr; unsigned long env_addr;
#endif /* ENV_SUPPORT */
/** /**
* @ram_base: base address of RAM used by U-Boot * @ram_base: base address of RAM used by U-Boot
*/ */
@ -134,6 +136,7 @@ struct global_data {
* @baudrate: baud rate of the serial interface * @baudrate: baud rate of the serial interface
*/ */
unsigned int baudrate; unsigned int baudrate;
#if CONFIG_IS_ENABLED(ENV_SUPPORT)
/** /**
* @env_has_init: bit mask indicating environment locations * @env_has_init: bit mask indicating environment locations
* *
@ -150,14 +153,15 @@ struct global_data {
* @env_load_prio: priority of the loaded environment * @env_load_prio: priority of the loaded environment
*/ */
char env_load_prio; char env_load_prio;
/**
* @fdt_src: Source of FDT
*/
enum fdt_source_t fdt_src;
/** /**
* @env_buf: buffer for env_get() before reloc * @env_buf: buffer for env_get() before reloc
*/ */
char env_buf[32]; char env_buf[32];
#endif /* ENV_SUPPORT */
/**
* @fdt_src: Source of FDT
*/
enum fdt_source_t fdt_src;
/** /**
* @arch: architecture-specific data * @arch: architecture-specific data
*/ */

View File

@ -44,7 +44,9 @@ int main(void)
DEFINE(GD_NEW_GD, offsetof(struct global_data, new_gd)); 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)); DEFINE(GD_ENV_ADDR, offsetof(struct global_data, env_addr));
#endif
return 0; return 0;
} }