From 934edb764dfd9fffe88478ecd315bee6ca0a781a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Thu, 22 Nov 2018 12:55:14 +0100 Subject: kernel: don't auto-split "firmware" if it has "compatible" DT property MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If "compatible" is being used that should trigger a proper parser directly. It's more reliable thanks to not trying parsers one by one. In such case partition shouldn't be split automatically to avoid parsing it twice. Signed-off-by: Rafał Miłecki --- .../generic/pending-4.9/400-mtd-add-rootfs-split-support.patch | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'target/linux/generic/pending-4.9/400-mtd-add-rootfs-split-support.patch') diff --git a/target/linux/generic/pending-4.9/400-mtd-add-rootfs-split-support.patch b/target/linux/generic/pending-4.9/400-mtd-add-rootfs-split-support.patch index b0cb273141..2072775d1e 100644 --- a/target/linux/generic/pending-4.9/400-mtd-add-rootfs-split-support.patch +++ b/target/linux/generic/pending-4.9/400-mtd-add-rootfs-split-support.patch @@ -68,7 +68,7 @@ Signed-off-by: Felix Fietkau mtd_add_partition_attrs(new); -@@ -728,6 +733,35 @@ int mtd_del_partition(struct mtd_info *m +@@ -728,6 +733,36 @@ int mtd_del_partition(struct mtd_info *m } EXPORT_SYMBOL_GPL(mtd_del_partition); @@ -94,8 +94,9 @@ Signed-off-by: Felix Fietkau + if (rootfs_found) + return; + -+ if (!strcmp(part->mtd.name, SPLIT_FIRMWARE_NAME) && -+ IS_ENABLED(CONFIG_MTD_SPLIT_FIRMWARE)) ++ if (IS_ENABLED(CONFIG_MTD_SPLIT_FIRMWARE) && ++ !strcmp(part->mtd.name, SPLIT_FIRMWARE_NAME) && ++ !of_find_property(mtd_get_of_node(&part->mtd), "compatible", NULL)) + split_firmware(master, part); + + arch_split_mtd_part(master, part->mtd.name, part->offset, @@ -104,7 +105,7 @@ Signed-off-by: Felix Fietkau /* * This function, given a master MTD object and a partition table, creates * and registers slave MTD objects which are bound to the master according to -@@ -759,6 +793,7 @@ int add_mtd_partitions(struct mtd_info * +@@ -759,6 +794,7 @@ int add_mtd_partitions(struct mtd_info * mutex_unlock(&mtd_partitions_mutex); add_mtd_device(&slave->mtd); -- cgit v1.2.3