kernel: allow skipping deprecated uImage.FIT partition parser
authorDaniel Golle <daniel@makrotopia.org>
Fri, 24 Nov 2023 12:22:27 +0000 (12:22 +0000)
committerDaniel Golle <daniel@makrotopia.org>
Thu, 15 Feb 2024 19:06:36 +0000 (19:06 +0000)
In order to allow gradually migrating the boards currently using the
uImage.FIT partition (deprecated/rejected) parser to the new fitblk
driver, skip the partition parser code in case the new fitblk driver
(which serves the same purpose) is used.

As an indicator for the use of the new fitblk driver, check if the
/chosen/rootdisk property is present in the Device Tree.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
target/linux/mediatek/files/block/partitions/fit.c

index 91b25e0581e7e071205d8375f5a2f88bcb275c9c..463cd4e9abae6abac3125c31141b3ad15e81612a 100644 (file)
@@ -144,6 +144,10 @@ int parse_fit_partitions(struct parsed_partitions *state, u64 fit_start_sector,
 
        np = of_find_node_by_path("/chosen");
        if (np) {
+               /* new fitblk driver should take over if /chosen/rootdisk is defined */
+               if (of_get_property(np, "rootdisk", NULL))
+                       return 0;
+
                bootconf_c = of_get_property(np, "u-boot,bootconf", &bootconf_len);
                if (bootconf_c && bootconf_len)
                        bootconf = kmemdup_nul(bootconf_c, bootconf_len, GFP_KERNEL);