As usually fixed partition used for UBI.
So it's defined at configuration and use it.

Signed-off-by: Kyungmin Park <[EMAIL PROTECTED]>
---
diff --git a/common/cmd_ubi.c b/common/cmd_ubi.c
index 8446765..d018dc1 100644
--- a/common/cmd_ubi.c
+++ b/common/cmd_ubi.c
@@ -40,7 +40,11 @@ struct selected_dev {
        struct mtd_info *mtd_info;
 };
 
-static struct selected_dev ubi_dev;
+static struct selected_dev ubi_dev = {
+#ifdef CONFIG_UBI_PART_NAME
+       .part_name      = CONFIG_UBI_PART_NAME,
+#endif
+};
 
 static void ubi_dump_vol_info(const struct ubi_volume *vol)
 {
@@ -455,11 +459,6 @@ static int do_ubi(cmd_tbl_t * cmdtp, int flag, int argc, 
char *argv[])
                        return 0;
                }
 
-               if (argc < 4) {
-                       printf("Usage:\n%s\n", cmdtp->usage);
-                       return 1;
-               }
-
                /* todo: get dev number for NAND... */
                ubi_dev.nr = 0;
 
@@ -481,7 +480,7 @@ static int do_ubi(cmd_tbl_t * cmdtp, int flag, int argc, 
char *argv[])
                }
 #endif
 #if defined(CONFIG_CMD_ONENAND)
-               if (strcmp(argv[2], "onenand") == 0) {
+               if (strcmp(argv[2], "onenand") == 0 || ubi_dev.part_name) {
                        strcpy(ubi_dev.dev_name, "OneNAND");
                        ubi_dev.type = DEV_TYPE_ONENAND;
                        ubi_dev.mtd_info = &onenand_mtd;
@@ -493,7 +492,12 @@ static int do_ubi(cmd_tbl_t * cmdtp, int flag, int argc, 
char *argv[])
                        return 1;
                }
 
-               strcpy(ubi_dev.part_name, argv[3]);
+               if (argv[3])
+                       strcpy(ubi_dev.part_name, argv[3]);
+               if (strcmp(ubi_dev.part_name, "") == 0) {
+                       printf("Please give part name\n");
+                       return 1;
+               }
                err = ubi_dev_scan(ubi_dev.mtd_info, ubi_dev.part_name);
                if (err) {
                        printf("UBI init error %d\n", err);
diff --git a/include/configs/apollon.h b/include/configs/apollon.h
index dff47fc..a29d739 100644
--- a/include/configs/apollon.h
+++ b/include/configs/apollon.h
@@ -259,13 +259,14 @@
 
 #ifdef CONFIG_SYS_USE_UBI
 #define CONFIG_JFFS2_CMDLINE
+#define CONFIG_UBI_PART_NAME   "UBI"
 #define MTDIDS_DEFAULT         "onenand0=onenand"
 #define MTDPARTS_DEFAULT       "mtdparts=onenand:128k(bootloader),"    \
                                        "128k(params),"                 \
                                        "2m(kernel),"                   \
                                        "16m(rootfs),"                  \
                                        "32m(fs),"                      \
-                                       "-(ubifs)"
+                                       "-(UBI)"
 #endif
 
 #endif /* __CONFIG_H */
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to