To introduce the ability to use multiple environments at the same time, it is required to store a few information about each of the environment.
Each environment has a different env_addr, "validity" (redund or main) and status of init (failed or succeeded). This structure is meant to be used in include/asm-generic/global_data.h and thus needs to be put out of the #ifndef DO_DEPS_ONLY. Signed-off-by: Quentin Schulz <quentin.sch...@free-electrons.com> --- include/environment.h | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/include/environment.h b/include/environment.h index dd6450c..14df43f 100644 --- a/include/environment.h +++ b/include/environment.h @@ -183,20 +183,6 @@ extern uint mmc_get_env_part(struct mmc *mmc); # endif #endif -#ifndef DO_DEPS_ONLY - -#include <env_attr.h> -#include <env_callback.h> -#include <env_flags.h> -#include <search.h> - -/* Value for environment validity */ -enum env_valid { - ENV_INVALID, /* No valid environment */ - ENV_VALID, /* First or only environment is valid */ - ENV_REDUND, /* Redundant environment is valid */ -}; - enum env_location { ENVL_EEPROM, ENVL_EXT4, @@ -215,6 +201,26 @@ enum env_location { ENVL_UNKNOWN, }; +/* Value for environment validity */ +enum env_valid { + ENV_INVALID, /* No valid environment */ + ENV_VALID, /* First or only environment is valid */ + ENV_REDUND, /* Redundant environment is valid */ +}; + +struct env_info { + unsigned long env_addr; + enum env_valid env_valid; + bool has_init; +}; + +#ifndef DO_DEPS_ONLY + +#include <env_attr.h> +#include <env_callback.h> +#include <env_flags.h> +#include <search.h> + extern enum env_location env_locations[]; enum env_operation { -- git-series 0.9.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot