diff --git a/common/env_flash.c b/common/env_flash.c index 19e2282643d..426d01b19be 100644 --- a/common/env_flash.c +++ b/common/env_flash.c @@ -160,9 +160,11 @@ int env_init(void) #ifdef CMD_SAVEENV int saveenv(void) { - int rc = 1; - ulong up_data = 0; char *saved_data = NULL; + int rc = 1; +#if CFG_ENV_SECT_SIZE > CFG_ENV_SIZE + ulong up_data = 0; +#endif debug ("Protect off %08lX ... %08lX\n", (ulong)flash_addr, end_addr); diff --git a/include/environment.h b/include/environment.h index fe8465b9606..bb109649f6b 100644 --- a/include/environment.h +++ b/include/environment.h @@ -47,8 +47,15 @@ # if !defined(CFG_ENV_ADDR_REDUND) && defined(CFG_ENV_OFFSET_REDUND) # define CFG_ENV_ADDR_REDUND (CFG_FLASH_BASE + CFG_ENV_OFFSET_REDUND) # endif -# ifndef CFG_ENV_SIZE -# define CFG_ENV_SIZE CFG_ENV_SECT_SIZE +# if defined(CFG_ENV_SECT_SIZE) || defined(CFG_ENV_SIZE) +# ifndef CFG_ENV_SECT_SIZE +# define CFG_ENV_SECT_SIZE CFG_ENV_SIZE +# endif +# ifndef CFG_ENV_SIZE +# define CFG_ENV_SIZE CFG_ENV_SECT_SIZE +# endif +# else +# error "Both CFG_ENV_SECT_SIZE and CFG_ENV_SIZE undefined" # endif # if defined(CFG_ENV_ADDR_REDUND) && !defined(CFG_ENV_SIZE_REDUND) # define CFG_ENV_SIZE_REDUND CFG_ENV_SIZE