mtd: Update MTD infrastructure to support 64bit device size
[oweals/u-boot.git] / common / env_onenand.c
index d5c907c6f0aa303065e5a4a695878f4e1d026917..ed77051724d2c483e25619b4afd24fbef07e22f1 100644 (file)
@@ -22,9 +22,6 @@
  */
 
 #include <common.h>
-
-#if defined(CFG_ENV_IS_IN_ONENAND)     /* Environment is in OneNAND */
-
 #include <command.h>
 #include <environment.h>
 #include <linux/stddef.h>
@@ -65,7 +62,7 @@ void env_relocate_spec(void)
        int use_default = 0;
        size_t retlen;
 
-       env_addr = CFG_ENV_ADDR;
+       env_addr = CONFIG_ENV_ADDR;
 
        /* Check OneNAND exist */
        if (onenand_mtd.writesize)
@@ -92,14 +89,15 @@ void env_relocate_spec(void)
 
 int saveenv(void)
 {
-       unsigned long env_addr = CFG_ENV_ADDR;
+       unsigned long env_addr = CONFIG_ENV_ADDR;
        struct erase_info instr = {
                .callback       = NULL,
        };
        size_t retlen;
 
-       instr.len = CFG_ENV_SIZE;
+       instr.len = CONFIG_ENV_SIZE;
        instr.addr = env_addr;
+       instr.mtd = &onenand_mtd;
        if (onenand_erase(&onenand_mtd, &instr)) {
                printf("OneNAND: erase failed at 0x%08lx\n", env_addr);
                return 1;
@@ -111,7 +109,7 @@ int saveenv(void)
 
        if (onenand_write(&onenand_mtd, env_addr, onenand_mtd.writesize, &retlen,
             (u_char *) env_ptr)) {
-               printf("OneNAND: write failed at 0x%08x\n", instr.addr);
+               printf("OneNAND: write failed at 0x%llx\n", instr.addr);
                return 2;
        }
 
@@ -126,5 +124,3 @@ int env_init(void)
 
        return 0;
 }
-
-#endif /* CFG_ENV_IS_IN_ONENAND */