From 353e468f4730b6f24d7da6b62091dc07f29f586f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Tue, 8 Nov 2022 12:22:51 +0100 Subject: [PATCH] kernel: support "linux,rootfs" DT property for splitting rootfs MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit OpenWrt's support for splitting rootfs (to create an extra "rootfs_data" partition) is limited to partitions called "rootfs". Upstream kernel allows any name partition to be rootfs if it has "linux,rootfs" property set. Add split support to such partitions in OpenWrt code. Signed-off-by: Rafał Miłecki (cherry picked from commit e4770db163a9585c43bb70dc5d6d1e45ef848e4a) --- .../pending-5.10/400-mtd-mtdsplit-support.patch | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/target/linux/generic/pending-5.10/400-mtd-mtdsplit-support.patch b/target/linux/generic/pending-5.10/400-mtd-mtdsplit-support.patch index ce4743879d..35b6944805 100644 --- a/target/linux/generic/pending-5.10/400-mtd-mtdsplit-support.patch +++ b/target/linux/generic/pending-5.10/400-mtd-mtdsplit-support.patch @@ -42,7 +42,7 @@ /* * MTD methods which simply translate the effective address and pass through -@@ -237,6 +239,146 @@ static int mtd_add_partition_attrs(struc +@@ -237,6 +239,147 @@ static int mtd_add_partition_attrs(struc return ret; } @@ -174,7 +174,8 @@ + if (rootfs_found) + return; + -+ if (!strcmp(part->name, "rootfs")) { ++ if (of_find_property(mtd_get_of_node(part), "linux,rootfs", NULL) || ++ !strcmp(part->name, "rootfs")) { + run_parsers_by_type(part, MTD_PARSER_TYPE_ROOTFS); + + rootfs_found = 1; @@ -189,7 +190,7 @@ int mtd_add_partition(struct mtd_info *parent, const char *name, long long offset, long long length) { -@@ -275,6 +417,7 @@ int mtd_add_partition(struct mtd_info *p +@@ -275,6 +418,7 @@ int mtd_add_partition(struct mtd_info *p if (ret) goto err_remove_part; @@ -197,7 +198,7 @@ mtd_add_partition_attrs(child); return 0; -@@ -423,6 +566,7 @@ int add_mtd_partitions(struct mtd_info * +@@ -423,6 +567,7 @@ int add_mtd_partitions(struct mtd_info * goto err_del_partitions; } @@ -205,7 +206,7 @@ mtd_add_partition_attrs(child); /* Look for subpartitions */ -@@ -439,31 +583,6 @@ err_del_partitions: +@@ -439,31 +584,6 @@ err_del_partitions: return ret; } -- 2.30.2