[U-Boot] [PATCH] [UBI] Set default UBI partition name at configuration

Kyungmin Park kmpark at infradead.org
Wed Nov 26 01:52:42 CET 2008


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

Signed-off-by: Kyungmin Park <kyungmin.park at samsung.com>
---
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 */


More information about the U-Boot mailing list