[OpenWrt-Devel] [PATCH] kernel: mtdsplit: support uimage with UBI

YounJae Rho luxflow at live.com
Tue Feb 23 04:20:38 EST 2016


This patch add uimage firmware split support for ubi.

Signed-off-by: YounJae Rho <luxflow at live.com>
---
 .../linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c | 10
+++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git
a/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c
b/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c
index c30ee6a..a50735a 100644
--- a/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c
+++ b/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c
@@ -95,6 +95,7 @@ static int __mtdsplit_parse_uimage(struct mtd_info
*master,
 	size_t rootfs_size = 0;
 	int uimage_part, rf_part;
 	int ret;
+	enum mtdsplit_part_type type;
 
 	nr_parts = 2;
 	parts = kzalloc(nr_parts * sizeof(*parts), GFP_KERNEL);
@@ -148,7 +149,7 @@ static int __mtdsplit_parse_uimage(struct mtd_info
*master,
 
 		/* find the roots after the uImage */
 		ret = mtd_find_rootfs_from(master, uimage_offset +
uimage_size,
-					   master->size, &rootfs_offset,
NULL);
+					   master->size, &rootfs_offset,
&type);
 		if (ret) {
 			pr_debug("no rootfs after uImage in \"%s\"\n",
 				 master->name);
@@ -162,7 +163,7 @@ static int __mtdsplit_parse_uimage(struct mtd_info
*master,
 		uimage_part = 1;
 
 		/* check rootfs presence at offset 0 */
-		ret = mtd_check_rootfs_magic(master, 0, NULL);
+		ret = mtd_check_rootfs_magic(master, 0, &type);
 		if (ret) {
 			pr_debug("no rootfs before uImage in \"%s\"\n",
 				 master->name);
@@ -183,7 +184,10 @@ static int __mtdsplit_parse_uimage(struct mtd_info
*master,
 	parts[uimage_part].offset = uimage_offset;
 	parts[uimage_part].size = uimage_size;
 
-	parts[rf_part].name = ROOTFS_PART_NAME;
+	if (type == MTDSPLIT_PART_TYPE_UBI)
+		parts[rf_part].name = UBI_PART_NAME;
+	else
+		parts[rf_part].name = ROOTFS_PART_NAME;
 	parts[rf_part].offset = rootfs_offset;
 	parts[rf_part].size = rootfs_size;
 
-- 
2.5.0
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list