]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - common/cmd_jffs2.c
Merge branch 'u-boot-samsung/master' into 'u-boot-arm/master'
[karo-tx-uboot.git] / common / cmd_jffs2.c
index 372ccb2aa3cba4279ac5475eb2457007bf4d87df..4a4a0000b407d543c5c247e5fe63540cec0b1d11 100644 (file)
@@ -281,7 +281,7 @@ static inline u32 get_part_sector_size_nor(struct mtdids *id, struct part_info *
        flash = &flash_info[id->num];
 
        start_phys = flash->start[0] + part->offset;
-       end_phys = start_phys + part->size;
+       end_phys = start_phys + part->size - 1;
 
        for (i = 0; i < flash->sector_count; i++) {
                if (flash->start[i] >= end_phys)
@@ -406,8 +406,6 @@ int mtdparts_init(void)
                part->offset = 0x00000000;
 #endif
 
-               part->sector_size = get_part_sector_size(id, part);
-
                part->dev = current_mtd_dev;
                INIT_LIST_HEAD(&part->link);
 
@@ -415,6 +413,8 @@ int mtdparts_init(void)
                if (part->size == SIZE_REMAINING)
                        part->size = id->size - part->offset;
 
+               part->sector_size = get_part_sector_size(id, part);
+
                DEBUGF("part  : name = %s, size = 0x%08lx, offset = 0x%08lx\n",
                                part->name, part->size, part->offset);
 
@@ -485,7 +485,7 @@ static struct part_info* jffs2_part_info(struct mtd_device *dev, unsigned int pa
  * @param argv arguments list
  * @return 0 on success, 1 otherwise
  */
-int do_jffs2_fsload(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_jffs2_fsload(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
        char *fsname;
        char *filename;
@@ -525,11 +525,9 @@ int do_jffs2_fsload(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
                }
 
                if (size > 0) {
-                       char buf[10];
                        printf("### %s load complete: %d bytes loaded to 0x%lx\n",
                                fsname, size, offset);
-                       sprintf(buf, "%x", size);
-                       setenv("filesize", buf);
+                       setenv_hex("filesize", size);
                } else {
                        printf("### %s LOAD ERROR<%x> for %s!\n", fsname, size, filename);
                }
@@ -549,7 +547,7 @@ int do_jffs2_fsload(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
  * @param argv arguments list
  * @return 0 on success, 1 otherwise
  */
-int do_jffs2_ls(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_jffs2_ls(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
        char *filename = "/";
        int ret;
@@ -587,7 +585,7 @@ int do_jffs2_ls(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
  * @param argv arguments list
  * @return 0 on success, 1 otherwise
  */
-int do_jffs2_fsinfo(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_jffs2_fsinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
        struct part_info *part;
        char *fsname;