ubi: env: fix redundand management

We check (with a #if defined()) the config ENV_UBI_VOLUME_REDUND
to know if there is a redundant env. But this config is a string
and is always defined with env is in ubi, so we always consider
that a redundand env is used.

To fix this issue, I've added a hidden flag ENV_UBI_IS_VOLUME_REDUND
that is true when ENV_UBI_VOLUME_REDUND is not "". Then, I check
this flag in the code, instead of the string ENV_UBI_VOLUME_REDUND.

hs: fixed typo s/condider/consider

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
This commit is contained in:
Philippe Reynes 2019-10-14 19:41:06 +02:00 committed by Heiko Schocher
parent e6661cf767
commit 6116234174
2 changed files with 7 additions and 1 deletions

6
env/Kconfig vendored
View File

@ -516,6 +516,12 @@ config ENV_UBI_VOLUME_REDUND
help help
Name of the redundant volume that you want to store the environment in. Name of the redundant volume that you want to store the environment in.
config ENV_UBI_IS_VOLUME_REDUND
bool
depends on ENV_IS_IN_UBI
default y if ENV_UBI_VOLUME_REDUND != ""
default n
config ENV_UBI_VID_OFFSET config ENV_UBI_VID_OFFSET
int "ubi environment VID offset" int "ubi environment VID offset"
depends on ENV_IS_IN_UBI depends on ENV_IS_IN_UBI

View File

@ -101,7 +101,7 @@ extern unsigned long nand_env_oob_offset;
# ifndef CONFIG_ENV_UBI_VOLUME # ifndef CONFIG_ENV_UBI_VOLUME
# error "Need to define CONFIG_ENV_UBI_VOLUME when using CONFIG_ENV_IS_IN_UBI" # error "Need to define CONFIG_ENV_UBI_VOLUME when using CONFIG_ENV_IS_IN_UBI"
# endif # endif
# if defined(CONFIG_ENV_UBI_VOLUME_REDUND) # if defined(CONFIG_ENV_UBI_IS_VOLUME_REDUND)
# define CONFIG_SYS_REDUNDAND_ENVIRONMENT # define CONFIG_SYS_REDUNDAND_ENVIRONMENT
# endif # endif
# ifndef CONFIG_ENV_SIZE # ifndef CONFIG_ENV_SIZE