diff options
author | Mike Frysinger <vapier@gentoo.org> | 2009-07-24 16:34:32 -0400 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2009-08-25 12:57:54 +0200 |
commit | 0a9e4e772123fe3e2bb499d7d2160c4cfd8a3a8d (patch) | |
tree | a752ffbef89c92cce902ce6c1de29884ef23598e /include/environment.h | |
parent | 02c9aa1d41f73fdcf8383a36cc0cbbfaf952855d (diff) | |
download | u-boot-0a9e4e772123fe3e2bb499d7d2160c4cfd8a3a8d.tar.gz |
unify {CONFIG_,}ENV_IS_EMBEDDED
Some boards have fallen out of sync by defining CONFIG_ENV_IS_EMBEDDED
manually. While it is useful to have this available to the build system,
let's do it automatically rather than forcing people to opt into it.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Albin Tonnerre <albin.tonnerre@free-electrons.com>
Signed-off-by: Wolfgang Denk <wd@denx.de>
Diffstat (limited to 'include/environment.h')
-rw-r--r-- | include/environment.h | 34 |
1 files changed, 28 insertions, 6 deletions
diff --git a/include/environment.h b/include/environment.h index 5bed32fd47..b9924fd778 100644 --- a/include/environment.h +++ b/include/environment.h @@ -67,6 +67,10 @@ # if defined(CONFIG_ENV_ADDR_REDUND) || defined(CONFIG_ENV_OFFSET_REDUND) # define CONFIG_SYS_REDUNDAND_ENVIRONMENT 1 # endif +# ifdef CONFIG_ENV_IS_EMBEDDED +# error "do not define CONFIG_ENV_IS_EMBEDDED in your board config" +# error "it is calculated automatically for you" +# endif #endif /* CONFIG_ENV_IS_IN_FLASH */ #if defined(CONFIG_ENV_IS_IN_NAND) @@ -79,9 +83,6 @@ # ifdef CONFIG_ENV_OFFSET_REDUND # define CONFIG_SYS_REDUNDAND_ENVIRONMENT # endif -# ifdef CONFIG_ENV_IS_EMBEDDED -# define ENV_IS_EMBEDDED 1 -# endif #endif /* CONFIG_ENV_IS_IN_NAND */ #if defined(CONFIG_ENV_IS_IN_MG_DISK) @@ -91,11 +92,32 @@ # ifndef CONFIG_ENV_SIZE # error "Need to define CONFIG_ENV_SIZE when using CONFIG_ENV_IS_IN_MG_DISK" # endif -# ifdef CONFIG_ENV_IS_EMBEDDED -# error "CONFIG_ENV_IS_EMBEDDED not supported when using CONFIG_ENV_IS_IN_MG_DISK" -# endif #endif /* CONFIG_ENV_IS_IN_MG_DISK */ +/* Embedded env is only supported for some flash types */ +#ifdef CONFIG_ENV_IS_EMBEDDED +# if !defined(CONFIG_ENV_IS_IN_FLASH) && \ + !defined(CONFIG_ENV_IS_IN_NAND) && \ + !defined(CONFIG_ENV_IS_IN_ONENAND) +# error "CONFIG_ENV_IS_EMBEDDED not supported for your flash type" +# endif +#endif + +/* + * For the flash types where embedded env is supported, but it cannot be + * calculated automatically (i.e. NAND), take the board opt-in. + */ +#if defined(CONFIG_ENV_IS_EMBEDDED) && !defined(ENV_IS_EMBEDDED) +# define ENV_IS_EMBEDDED 1 +#endif + +/* The build system likes to know if the env is embedded */ +#ifdef DO_DEPS_ONLY +# ifdef ENV_IS_EMBEDDED +# define CONFIG_ENV_IS_EMBEDDED +# endif +#endif + #include "compiler.h" #ifdef CONFIG_SYS_REDUNDAND_ENVIRONMENT |