Merge branch 'master' of https://gitlab.denx.de/u-boot/custodians/u-boot-net
[oweals/u-boot.git] / env / mmc.c
index b7b833f4235273116e19db93743664ee0c2f7037..251ad07d7c08f2a309667e986c5a662008c3666f 100644 (file)
--- a/env/mmc.c
+++ b/env/mmc.c
@@ -8,7 +8,8 @@
 #include <common.h>
 
 #include <command.h>
-#include <environment.h>
+#include <env.h>
+#include <env_internal.h>
 #include <fdtdec.h>
 #include <linux/stddef.h>
 #include <malloc.h>
 #define __STR(X) #X
 #define STR(X) __STR(X)
 
-#if defined(CONFIG_ENV_SIZE_REDUND) &&  \
-       (CONFIG_ENV_SIZE_REDUND != CONFIG_ENV_SIZE)
-#error CONFIG_ENV_SIZE_REDUND should be the same as CONFIG_ENV_SIZE
-#endif
-
 DECLARE_GLOBAL_DATA_PTR;
 
-#if !defined(CONFIG_ENV_OFFSET)
-#define CONFIG_ENV_OFFSET 0
-#endif
-
 #if CONFIG_IS_ENABLED(OF_CONTROL)
 static inline int mmc_offset_try_partition(const char *str, s64 *val)
 {
@@ -346,7 +338,7 @@ fini:
        fini_mmc_for_env(mmc);
 err:
        if (ret)
-               set_default_env(errmsg, 0);
+               env_set_default(errmsg, 0);
 
 #endif
        return ret;
@@ -361,6 +353,7 @@ static int env_mmc_load(void)
        int ret;
        int dev = mmc_get_env_dev();
        const char *errmsg;
+       env_t *ep = NULL;
 
        mmc = find_mmc_device(dev);
 
@@ -382,12 +375,16 @@ static int env_mmc_load(void)
        }
 
        ret = env_import(buf, 1);
+       if (!ret) {
+               ep = (env_t *)buf;
+               gd->env_addr = (ulong)&ep->data;
+       }
 
 fini:
        fini_mmc_for_env(mmc);
 err:
        if (ret)
-               set_default_env(errmsg, 0);
+               env_set_default(errmsg, 0);
 #endif
        return ret;
 }