]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - common/env_nand.c
dm: gpio: hi6220: Add a hi6220 GPIO driver model driver.
[karo-tx-uboot.git] / common / env_nand.c
index 9c9bb82c0faf81f3d6d6295f99ecfcfd3a1cea2b..4a97b6ca651c53b17f1f61d2e41edfa0a755aeef 100644 (file)
@@ -44,8 +44,6 @@ char *env_name_spec = "NAND";
 env_t *env_ptr = &environment;
 #elif defined(CONFIG_NAND_ENV_DST)
 env_t *env_ptr = (env_t *)CONFIG_NAND_ENV_DST;
-#else /* ! ENV_IS_EMBEDDED */
-env_t *env_ptr;
 #endif /* ENV_IS_EMBEDDED */
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -233,6 +231,12 @@ int saveenv(void)
 }
 #endif /* CMD_SAVEENV */
 
+#if defined(CONFIG_SPL_BUILD)
+static int readenv(size_t offset, u_char *buf)
+{
+       return nand_spl_load_image(offset, CONFIG_ENV_SIZE, buf);
+}
+#else
 static int readenv(size_t offset, u_char *buf)
 {
        size_t end = offset + CONFIG_ENV_RANGE;
@@ -266,6 +270,7 @@ static int readenv(size_t offset, u_char *buf)
 
        return 0;
 }
+#endif /* #if defined(CONFIG_SPL_BUILD) */
 
 #ifdef CONFIG_ENV_OFFSET_OOB
 int get_nand_env_oob(nand_info_t *nand, unsigned long *result)
@@ -350,7 +355,9 @@ void env_relocate_spec(void)
                        gd->env_valid = 1;
        }
 
+#ifdef CONFIG_NAND_ENV_DST
        free(env_ptr);
+#endif
 
        if (gd->env_valid == 1)
                ep = tmp_env1;