|
@@ -404,9 +404,6 @@ static int ubi_dev_scan(struct mtd_info *info, char *ubidev)
|
|
u8 pnum;
|
|
u8 pnum;
|
|
int err;
|
|
int err;
|
|
|
|
|
|
- if (mtdparts_init() != 0)
|
|
|
|
- return 1;
|
|
|
|
-
|
|
|
|
if (find_dev_and_part(ubidev, &dev, &pnum, &part) != 0)
|
|
if (find_dev_and_part(ubidev, &dev, &pnum, &part) != 0)
|
|
return 1;
|
|
return 1;
|
|
|
|
|
|
@@ -445,6 +442,11 @@ static int do_ubi(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
|
|
return 1;
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (mtdparts_init() != 0) {
|
|
|
|
+ printf("Error initializing mtdparts!\n");
|
|
|
|
+ return 1;
|
|
|
|
+ }
|
|
|
|
+
|
|
if (strcmp(argv[1], "part") == 0) {
|
|
if (strcmp(argv[1], "part") == 0) {
|
|
/* Print current partition */
|
|
/* Print current partition */
|
|
if (argc == 2) {
|
|
if (argc == 2) {
|
|
@@ -475,7 +477,7 @@ static int do_ubi(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
/*
|
|
- * Check for nand|onenand selection
|
|
|
|
|
|
+ * Check for nor|nand|onenand selection
|
|
*/
|
|
*/
|
|
#if defined(CONFIG_CMD_NAND)
|
|
#if defined(CONFIG_CMD_NAND)
|
|
if (strcmp(argv[2], "nand") == 0) {
|
|
if (strcmp(argv[2], "nand") == 0) {
|
|
@@ -486,9 +488,23 @@ static int do_ubi(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
|
|
#endif
|
|
#endif
|
|
#if defined(CONFIG_FLASH_CFI_MTD)
|
|
#if defined(CONFIG_FLASH_CFI_MTD)
|
|
if (strcmp(argv[2], "nor") == 0) {
|
|
if (strcmp(argv[2], "nor") == 0) {
|
|
|
|
+ char mtd_dev[16];
|
|
|
|
+ struct mtd_device *dev;
|
|
|
|
+ struct part_info *part;
|
|
|
|
+ u8 pnum;
|
|
|
|
+
|
|
|
|
+ /*
|
|
|
|
+ * Search the mtd device number where this partition
|
|
|
|
+ * is located
|
|
|
|
+ */
|
|
|
|
+ if (find_dev_and_part(argv[3], &dev, &pnum, &part)) {
|
|
|
|
+ printf("Partition %s not found!\n", argv[3]);
|
|
|
|
+ return 1;
|
|
|
|
+ }
|
|
|
|
+ sprintf(mtd_dev, "nor%d", dev->id->num);
|
|
|
|
+ ubi_dev.mtd_info = get_mtd_device_nm(mtd_dev);
|
|
strcpy(ubi_dev.dev_name, "NOR");
|
|
strcpy(ubi_dev.dev_name, "NOR");
|
|
ubi_dev.type = DEV_TYPE_NOR;
|
|
ubi_dev.type = DEV_TYPE_NOR;
|
|
- ubi_dev.mtd_info = get_mtd_device_nm(CFI_MTD_DEV_NAME);
|
|
|
|
}
|
|
}
|
|
#endif
|
|
#endif
|
|
#if defined(CONFIG_CMD_ONENAND)
|
|
#if defined(CONFIG_CMD_ONENAND)
|