ubi: env: fix redundand management
authorPhilippe Reynes <philippe.reynes@softathome.com>
Mon, 14 Oct 2019 17:41:06 +0000 (19:41 +0200)
committerHeiko Schocher <hs@denx.de>
Wed, 16 Oct 2019 03:53:37 +0000 (05:53 +0200)
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>
env/Kconfig
include/env_internal.h

index e4ba12ece3f6cc7ebb1d33682dd7f6770745a75e..bc03816bc8b3c6bb9eb75247d657f70fcb3a33c9 100644 (file)
@@ -516,6 +516,12 @@ config ENV_UBI_VOLUME_REDUND
        help
          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
        int "ubi environment VID offset"
        depends on ENV_IS_IN_UBI
index b1ddcb5adfd3b2f4216be90d40d33c85a81cea7b..88c36b32a1e573662215f68809173988d05e6c4e 100644 (file)
@@ -101,7 +101,7 @@ extern unsigned long nand_env_oob_offset;
 # ifndef CONFIG_ENV_UBI_VOLUME
 #  error "Need to define CONFIG_ENV_UBI_VOLUME when using CONFIG_ENV_IS_IN_UBI"
 # endif
-# if defined(CONFIG_ENV_UBI_VOLUME_REDUND)
+# if defined(CONFIG_ENV_UBI_IS_VOLUME_REDUND)
 #  define CONFIG_SYS_REDUNDAND_ENVIRONMENT
 # endif
 # ifndef CONFIG_ENV_SIZE