]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - common/env_fat.c
Common: SPL: spl_nand: Fixed debug correct NAND ECC type.
[people/ms/u-boot.git] / common / env_fat.c
index 8db0160ceb0ced4fc703a2a11840d5e6bedde30d..75616d4c5b5c8a00d8415c15a63776520435d8a5 100644 (file)
@@ -13,6 +13,7 @@
 #include <environment.h>
 #include <linux/stddef.h>
 #include <malloc.h>
+#include <memalign.h>
 #include <search.h>
 #include <errno.h>
 #include <fat.h>
@@ -37,29 +38,31 @@ int env_init(void)
 int saveenv(void)
 {
        env_t   env_new;
-       block_dev_desc_t *dev_desc = NULL;
+       struct blk_desc *dev_desc = NULL;
        disk_partition_t info;
        int dev, part;
        int err;
+       loff_t size;
 
        err = env_export(&env_new);
        if (err)
                return err;
 
-       part = get_device_and_partition(FAT_ENV_INTERFACE,
+       part = blk_get_device_part_str(FAT_ENV_INTERFACE,
                                        FAT_ENV_DEVICE_AND_PART,
                                        &dev_desc, &info, 1);
        if (part < 0)
                return 1;
 
-       dev = dev_desc->dev;
+       dev = dev_desc->devnum;
        if (fat_set_blk_dev(dev_desc, &info) != 0) {
                printf("\n** Unable to use %s %d:%d for saveenv **\n",
                       FAT_ENV_INTERFACE, dev, part);
                return 1;
        }
 
-       err = file_fat_write(FAT_ENV_FILE, (void *)&env_new, sizeof(env_t));
+       err = file_fat_write(FAT_ENV_FILE, (void *)&env_new, 0, sizeof(env_t),
+                            &size);
        if (err == -1) {
                printf("\n** Unable to write \"%s\" from %s%d:%d **\n",
                        FAT_ENV_FILE, FAT_ENV_INTERFACE, dev, part);
@@ -74,18 +77,18 @@ int saveenv(void)
 void env_relocate_spec(void)
 {
        ALLOC_CACHE_ALIGN_BUFFER(char, buf, CONFIG_ENV_SIZE);
-       block_dev_desc_t *dev_desc = NULL;
+       struct blk_desc *dev_desc = NULL;
        disk_partition_t info;
        int dev, part;
        int err;
 
-       part = get_device_and_partition(FAT_ENV_INTERFACE,
+       part = blk_get_device_part_str(FAT_ENV_INTERFACE,
                                        FAT_ENV_DEVICE_AND_PART,
                                        &dev_desc, &info, 1);
        if (part < 0)
                goto err_env_relocate;
 
-       dev = dev_desc->dev;
+       dev = dev_desc->devnum;
        if (fat_set_blk_dev(dev_desc, &info) != 0) {
                printf("\n** Unable to use %s %d:%d for loading the env **\n",
                       FAT_ENV_INTERFACE, dev, part);