diff options
Diffstat (limited to 'target/linux/generic/hack-5.10')
4 files changed, 43 insertions, 46 deletions
diff --git a/target/linux/generic/hack-5.10/402-mtd-blktrans-call-add-disks-after-mtd-device.patch b/target/linux/generic/hack-5.10/402-mtd-blktrans-call-add-disks-after-mtd-device.patch index a650320cd0..dc342da831 100644 --- a/target/linux/generic/hack-5.10/402-mtd-blktrans-call-add-disks-after-mtd-device.patch +++ b/target/linux/generic/hack-5.10/402-mtd-blktrans-call-add-disks-after-mtd-device.patch @@ -69,7 +69,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org> unsigned long flags; --- a/drivers/mtd/mtdcore.c +++ b/drivers/mtd/mtdcore.c -@@ -31,6 +31,7 @@ +@@ -32,6 +32,7 @@ #include <linux/mtd/mtd.h> #include <linux/mtd/partitions.h> @@ -77,7 +77,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org> #include "mtdcore.h" -@@ -916,6 +917,8 @@ int mtd_device_parse_register(struct mtd +@@ -928,6 +929,8 @@ int mtd_device_parse_register(struct mtd register_reboot_notifier(&mtd->reboot_notifier); } diff --git a/target/linux/generic/hack-5.10/420-mtd-set-rootfs-to-be-root-dev.patch b/target/linux/generic/hack-5.10/420-mtd-set-rootfs-to-be-root-dev.patch deleted file mode 100644 index a70d8af4c2..0000000000 --- a/target/linux/generic/hack-5.10/420-mtd-set-rootfs-to-be-root-dev.patch +++ /dev/null @@ -1,39 +0,0 @@ -From: Gabor Juhos <juhosg@openwrt.org> -Subject: kernel/3.1[02]: move MTD root device setup code to mtdcore - -The current code only allows to automatically set -root device on MTD partitions. Move the code to MTD -core to allow to use it with all MTD devices. - -Signed-off-by: Gabor Juhos <juhosg@openwrt.org> ---- - drivers/mtd/mtdcore.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - ---- a/drivers/mtd/mtdcore.c -+++ b/drivers/mtd/mtdcore.c -@@ -27,6 +27,7 @@ - #include <linux/reboot.h> - #include <linux/leds.h> - #include <linux/debugfs.h> -+#include <linux/root_dev.h> - #include <linux/nvmem-provider.h> - - #include <linux/mtd/mtd.h> -@@ -759,6 +760,16 @@ int add_mtd_device(struct mtd_info *mtd) - of this try_ nonsense, and no bitching about it - either. :) */ - __module_get(THIS_MODULE); -+ -+ if (!strcmp(mtd->name, "rootfs") && -+ IS_ENABLED(CONFIG_MTD_ROOTFS_ROOT_DEV) && -+ ROOT_DEV == 0) { -+ unsigned int index = mtd->index; -+ pr_notice("mtd: device %d (%s) set to be root filesystem\n", -+ mtd->index, mtd->name); -+ ROOT_DEV = MKDEV(MTD_BLOCK_MAJOR, index); -+ } -+ - return 0; - - fail_nvmem_add: diff --git a/target/linux/generic/hack-5.10/420-mtd-support-OpenWrt-s-MTD_ROOTFS_ROOT_DEV.patch b/target/linux/generic/hack-5.10/420-mtd-support-OpenWrt-s-MTD_ROOTFS_ROOT_DEV.patch new file mode 100644 index 0000000000..89ac3cb9fe --- /dev/null +++ b/target/linux/generic/hack-5.10/420-mtd-support-OpenWrt-s-MTD_ROOTFS_ROOT_DEV.patch @@ -0,0 +1,24 @@ +From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl> +Date: Mon, 7 Nov 2022 23:48:24 +0100 +Subject: [PATCH] mtd: support OpenWrt's MTD_ROOTFS_ROOT_DEV +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This allows setting ROOT_DEV to MTD partition named "rootfs". + +Signed-off-by: Rafał Miłecki <rafal@milecki.pl> +--- + +--- a/drivers/mtd/mtdcore.c ++++ b/drivers/mtd/mtdcore.c +@@ -756,7 +756,8 @@ int add_mtd_device(struct mtd_info *mtd) + + mutex_unlock(&mtd_table_mutex); + +- if (of_find_property(mtd_get_of_node(mtd), "linux,rootfs", NULL)) { ++ if (of_find_property(mtd_get_of_node(mtd), "linux,rootfs", NULL) || ++ (IS_ENABLED(CONFIG_MTD_ROOTFS_ROOT_DEV) && !strcmp(mtd->name, "rootfs") && ROOT_DEV == 0)) { + if (IS_BUILTIN(CONFIG_MTD)) { + pr_info("mtd: setting mtd%d (%s) as root device\n", mtd->index, mtd->name); + ROOT_DEV = MKDEV(MTD_BLOCK_MAJOR, mtd->index); diff --git a/target/linux/generic/hack-5.10/421-mtd-fix-squashfs-root-on-targets-with-CONFIG_FIT_PAR.patch b/target/linux/generic/hack-5.10/421-mtd-fix-squashfs-root-on-targets-with-CONFIG_FIT_PAR.patch index 2f7da2aaba..1cd0efd624 100644 --- a/target/linux/generic/hack-5.10/421-mtd-fix-squashfs-root-on-targets-with-CONFIG_FIT_PAR.patch +++ b/target/linux/generic/hack-5.10/421-mtd-fix-squashfs-root-on-targets-with-CONFIG_FIT_PAR.patch @@ -7,13 +7,25 @@ Fix assumption about the block device index --- a/drivers/mtd/mtdcore.c +++ b/drivers/mtd/mtdcore.c -@@ -767,6 +767,9 @@ int add_mtd_device(struct mtd_info *mtd) - unsigned int index = mtd->index; - pr_notice("mtd: device %d (%s) set to be root filesystem\n", - mtd->index, mtd->name); +@@ -758,12 +758,18 @@ int add_mtd_device(struct mtd_info *mtd) + + if (of_find_property(mtd_get_of_node(mtd), "linux,rootfs", NULL) || + (IS_ENABLED(CONFIG_MTD_ROOTFS_ROOT_DEV) && !strcmp(mtd->name, "rootfs") && ROOT_DEV == 0)) { ++ unsigned int index = mtd->index; ++ +#ifdef CONFIG_FIT_PARTITION + index <<= 2; +#endif - ROOT_DEV = MKDEV(MTD_BLOCK_MAJOR, index); ++ + if (IS_BUILTIN(CONFIG_MTD)) { +- pr_info("mtd: setting mtd%d (%s) as root device\n", mtd->index, mtd->name); +- ROOT_DEV = MKDEV(MTD_BLOCK_MAJOR, mtd->index); ++ pr_info("mtd: setting mtd%d (%s) as root device\n", index, mtd->name); ++ ROOT_DEV = MKDEV(MTD_BLOCK_MAJOR, index); + } else { + pr_warn("mtd: can't set mtd%d (%s) as root device - mtd must be builtin\n", +- mtd->index, mtd->name); ++ index, mtd->name); + } } |