]> git.sur5r.net Git - u-boot/blobdiff - env/mmc.c
SPDX: Convert all of our single license tags to Linux Kernel style
[u-boot] / env / mmc.c
index 528fbf978162ddb40ea1c09d36a71f3e8c4023af..5e3da6dca7596919ca5ae1f01e2f495d05d1b536 100644 (file)
--- a/env/mmc.c
+++ b/env/mmc.c
@@ -1,7 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * (C) Copyright 2008-2011 Freescale Semiconductor, Inc.
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 /* #define DEBUG */
@@ -158,7 +157,7 @@ static const char *init_mmc_for_env(struct mmc *mmc)
        if (!mmc)
                return "!No MMC card found";
 
-#ifdef CONFIG_BLK
+#if CONFIG_IS_ENABLED(BLK)
        struct udevice *dev;
 
        if (blk_get_from_parent(mmc->dev, &dev))
@@ -273,6 +272,8 @@ static int env_mmc_load(void)
        ALLOC_CACHE_ALIGN_BUFFER(env_t, tmp_env1, 1);
        ALLOC_CACHE_ALIGN_BUFFER(env_t, tmp_env2, 1);
 
+       mmc_initialize(NULL);
+
        mmc = find_mmc_device(dev);
 
        errmsg = init_mmc_for_env(mmc);
@@ -290,27 +291,8 @@ static int env_mmc_load(void)
        read1_fail = read_env(mmc, CONFIG_ENV_SIZE, offset1, tmp_env1);
        read2_fail = read_env(mmc, CONFIG_ENV_SIZE, offset2, tmp_env2);
 
-       if (read1_fail && read2_fail)
-               puts("*** Error - No Valid Environment Area found\n");
-       else if (read1_fail || read2_fail)
-               puts("*** Warning - some problems detected "
-                    "reading environment; recovered successfully\n");
-
-       if (read1_fail && read2_fail) {
-               errmsg = "!bad CRC";
-               ret = -EIO;
-               goto fini;
-       } else if (!read1_fail && read2_fail) {
-               gd->env_valid = ENV_VALID;
-               env_import((char *)tmp_env1, 1);
-       } else if (read1_fail && !read2_fail) {
-               gd->env_valid = ENV_REDUND;
-               env_import((char *)tmp_env2, 1);
-       } else {
-               env_import_redund((char *)tmp_env1, (char *)tmp_env2);
-       }
-
-       ret = 0;
+       ret = env_import_redund((char *)tmp_env1, read1_fail, (char *)tmp_env2,
+                               read2_fail);
 
 fini:
        fini_mmc_for_env(mmc);
@@ -351,8 +333,7 @@ static int env_mmc_load(void)
                goto fini;
        }
 
-       env_import(buf, 1);
-       ret = 0;
+       ret = env_import(buf, 1);
 
 fini:
        fini_mmc_for_env(mmc);