diff options
author | Rafał Miłecki <rafal@milecki.pl> | 2022-11-08 12:22:51 +0100 |
---|---|---|
committer | Rafał Miłecki <rafal@milecki.pl> | 2022-11-10 12:47:22 +0100 |
commit | e4770db163a9585c43bb70dc5d6d1e45ef848e4a (patch) | |
tree | 5ab3412839c5f3a10ab3df990233c8eb4db92c5f | |
parent | 8cdafa149eda4e343905ccf00cad34ff2b52c85b (diff) | |
download | upstream-e4770db163a9585c43bb70dc5d6d1e45ef848e4a.tar.gz upstream-e4770db163a9585c43bb70dc5d6d1e45ef848e4a.tar.bz2 upstream-e4770db163a9585c43bb70dc5d6d1e45ef848e4a.zip |
kernel: support "linux,rootfs" DT property for splitting rootfs
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 <rafal@milecki.pl>
-rw-r--r-- | target/linux/generic/pending-5.10/400-mtd-mtdsplit-support.patch | 11 | ||||
-rw-r--r-- | target/linux/generic/pending-5.15/400-mtd-mtdsplit-support.patch | 11 |
2 files changed, 12 insertions, 10 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 b34c041df0..89cac88717 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 @@ -64,7 +64,7 @@ SVN-Revision: 38002 /* * 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; } @@ -196,7 +196,8 @@ SVN-Revision: 38002 + 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; @@ -211,7 +212,7 @@ SVN-Revision: 38002 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; @@ -219,7 +220,7 @@ SVN-Revision: 38002 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; } @@ -227,7 +228,7 @@ SVN-Revision: 38002 mtd_add_partition_attrs(child); /* Look for subpartitions */ -@@ -439,31 +583,6 @@ err_del_partitions: +@@ -439,31 +584,6 @@ err_del_partitions: return ret; } diff --git a/target/linux/generic/pending-5.15/400-mtd-mtdsplit-support.patch b/target/linux/generic/pending-5.15/400-mtd-mtdsplit-support.patch index d07afd70ee..bf82bb3950 100644 --- a/target/linux/generic/pending-5.15/400-mtd-mtdsplit-support.patch +++ b/target/linux/generic/pending-5.15/400-mtd-mtdsplit-support.patch @@ -66,7 +66,7 @@ Subject: [PATCH] mtd: mtdsplit support /* * MTD methods which simply translate the effective address and pass through -@@ -236,6 +238,146 @@ static int mtd_add_partition_attrs(struc +@@ -236,6 +238,147 @@ static int mtd_add_partition_attrs(struc return ret; } @@ -198,7 +198,8 @@ Subject: [PATCH] mtd: mtdsplit support + 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; @@ -213,7 +214,7 @@ Subject: [PATCH] mtd: mtdsplit support int mtd_add_partition(struct mtd_info *parent, const char *name, long long offset, long long length) { -@@ -274,6 +416,7 @@ int mtd_add_partition(struct mtd_info *p +@@ -274,6 +417,7 @@ int mtd_add_partition(struct mtd_info *p if (ret) goto err_remove_part; @@ -221,7 +222,7 @@ Subject: [PATCH] mtd: mtdsplit support mtd_add_partition_attrs(child); return 0; -@@ -422,6 +565,7 @@ int add_mtd_partitions(struct mtd_info * +@@ -422,6 +566,7 @@ int add_mtd_partitions(struct mtd_info * goto err_del_partitions; } @@ -229,7 +230,7 @@ Subject: [PATCH] mtd: mtdsplit support mtd_add_partition_attrs(child); /* Look for subpartitions */ -@@ -438,31 +582,6 @@ err_del_partitions: +@@ -438,31 +583,6 @@ err_del_partitions: return ret; } |