kernel: mtdsplit: support UBI after FIT images
authorFelix Fietkau <nbd@nbd.name>
Thu, 10 Mar 2022 16:32:20 +0000 (17:32 +0100)
committerFelix Fietkau <nbd@nbd.name>
Fri, 25 Mar 2022 20:11:09 +0000 (21:11 +0100)
Change the partition name accordingly. Same behavior as mtdsplit_uimage

Signed-off-by: Felix Fietkau <nbd@nbd.name>
target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_fit.c

index 3230d859b034ef86b5a57980d8df20089c2164a7..d8fb74ea381239a0d05fc6c8789ccd1bc47ff9a0 100644 (file)
@@ -256,9 +256,11 @@ mtdsplit_fit_parse(struct mtd_info *mtd,
         * last external data refernced.
         */
        if (fit_size > 0x1000) {
+               enum mtdsplit_part_type type;
+
                /* Search for the rootfs partition after the FIT image */
                ret = mtd_find_rootfs_from(mtd, fit_offset + fit_size, mtd->size,
-                                          &rootfs_offset, NULL);
+                                          &rootfs_offset, &type);
                if (ret) {
                        pr_info("no rootfs found after FIT image in \"%s\"\n",
                                mtd->name);
@@ -275,7 +277,10 @@ mtdsplit_fit_parse(struct mtd_info *mtd,
                parts[0].offset = fit_offset;
                parts[0].size = mtd_rounddown_to_eb(fit_size, mtd) + mtd->erasesize;
 
-               parts[1].name = ROOTFS_PART_NAME;
+               if (type == MTDSPLIT_PART_TYPE_UBI)
+                       parts[1].name = UBI_PART_NAME;
+               else
+                       parts[1].name = ROOTFS_PART_NAME;
                parts[1].offset = rootfs_offset;
                parts[1].size = rootfs_size;