env: enable saveenv command when one CONFIG_ENV_IS_IN is activated
authorPatrick Delaunay <patrick.delaunay@st.com>
Mon, 18 Feb 2019 09:58:16 +0000 (10:58 +0100)
committerPatrice Chotard <patrice.chotard@st.com>
Thu, 6 Jun 2019 15:40:13 +0000 (17:40 +0200)
Introduce ENV_IS_IN_DEVICE to test if one the
CONFIG_ENV_IS_IN_ is defined and support the command
saveenv even if CONFIG_ENV_IS_NOWHERE is activated

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
cmd/nvedit.c

index 24a6cf7824ad2816b723d33a3a24537564b2bc77..5d723acdee9a174c1d796ba0d6bebca4fbe943ab 100644 (file)
 
 DECLARE_GLOBAL_DATA_PTR;
 
-#if    !defined(CONFIG_ENV_IS_IN_EEPROM)       && \
-       !defined(CONFIG_ENV_IS_IN_FLASH)        && \
-       !defined(CONFIG_ENV_IS_IN_MMC)          && \
-       !defined(CONFIG_ENV_IS_IN_FAT)          && \
-       !defined(CONFIG_ENV_IS_IN_EXT4)         && \
-       !defined(CONFIG_ENV_IS_IN_NAND)         && \
-       !defined(CONFIG_ENV_IS_IN_NVRAM)        && \
-       !defined(CONFIG_ENV_IS_IN_ONENAND)      && \
-       !defined(CONFIG_ENV_IS_IN_SATA)         && \
-       !defined(CONFIG_ENV_IS_IN_SPI_FLASH)    && \
-       !defined(CONFIG_ENV_IS_IN_REMOTE)       && \
-       !defined(CONFIG_ENV_IS_IN_UBI)          && \
+#if    defined(CONFIG_ENV_IS_IN_EEPROM)        || \
+       defined(CONFIG_ENV_IS_IN_FLASH)         || \
+       defined(CONFIG_ENV_IS_IN_MMC)           || \
+       defined(CONFIG_ENV_IS_IN_FAT)           || \
+       defined(CONFIG_ENV_IS_IN_EXT4)          || \
+       defined(CONFIG_ENV_IS_IN_NAND)          || \
+       defined(CONFIG_ENV_IS_IN_NVRAM)         || \
+       defined(CONFIG_ENV_IS_IN_ONENAND)       || \
+       defined(CONFIG_ENV_IS_IN_SATA)          || \
+       defined(CONFIG_ENV_IS_IN_SPI_FLASH)     || \
+       defined(CONFIG_ENV_IS_IN_REMOTE)        || \
+       defined(CONFIG_ENV_IS_IN_UBI)
+
+#define ENV_IS_IN_DEVICE
+
+#endif
+
+#if    !defined(ENV_IS_IN_DEVICE)              && \
        !defined(CONFIG_ENV_IS_NOWHERE)
 # error Define one of CONFIG_ENV_IS_IN_{EEPROM|FLASH|MMC|FAT|EXT4|\
 NAND|NVRAM|ONENAND|SATA|SPI_FLASH|REMOTE|UBI} or CONFIG_ENV_IS_NOWHERE
@@ -749,7 +755,7 @@ ulong env_get_ulong(const char *name, int base, ulong default_val)
 }
 
 #ifndef CONFIG_SPL_BUILD
-#if defined(CONFIG_CMD_SAVEENV) && !defined(CONFIG_ENV_IS_NOWHERE)
+#if defined(CONFIG_CMD_SAVEENV) && defined(ENV_IS_IN_DEVICE)
 static int do_env_save(cmd_tbl_t *cmdtp, int flag, int argc,
                       char * const argv[])
 {
@@ -1205,7 +1211,7 @@ static cmd_tbl_t cmd_env_sub[] = {
 #if defined(CONFIG_CMD_RUN)
        U_BOOT_CMD_MKENT(run, CONFIG_SYS_MAXARGS, 1, do_run, "", ""),
 #endif
-#if defined(CONFIG_CMD_SAVEENV) && !defined(CONFIG_ENV_IS_NOWHERE)
+#if defined(CONFIG_CMD_SAVEENV) && defined(ENV_IS_IN_DEVICE)
        U_BOOT_CMD_MKENT(save, 1, 0, do_env_save, "", ""),
 #endif
        U_BOOT_CMD_MKENT(set, CONFIG_SYS_MAXARGS, 0, do_env_set, "", ""),
@@ -1280,7 +1286,7 @@ static char env_help_text[] =
 #if defined(CONFIG_CMD_RUN)
        "env run var [...] - run commands in an environment variable\n"
 #endif
-#if defined(CONFIG_CMD_SAVEENV) && !defined(CONFIG_ENV_IS_NOWHERE)
+#if defined(CONFIG_CMD_SAVEENV) && defined(ENV_IS_IN_DEVICE)
        "env save - save environment\n"
 #endif
 #if defined(CONFIG_CMD_NVEDIT_EFI)