mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-25 16:31:13 +00:00
13960fb0e0
In commitab143647ef
("kernel: generic: improve FIT partition parser") part_bits was bumped to 2 in order to allow up to 3 additional FIT sub-images mapped into sub-partitions. This change has to be reflected also in our local patch 420-mtd-set-rootfs-to-be-root-dev.patch which still assumed part_bits==1 for mtdblock devices in case of CONFIG_FIT_PARTITION=y. Fixes: #9557 Fixes:ab143647ef
("kernel: generic: improve FIT partition parser") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
43 lines
1.1 KiB
Diff
43 lines
1.1 KiB
Diff
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>
|
|
@@ -694,6 +695,19 @@ 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);
|
|
+#ifdef CONFIG_FIT_PARTITION
|
|
+ index <<= 2;
|
|
+#endif
|
|
+ ROOT_DEV = MKDEV(MTD_BLOCK_MAJOR, index);
|
|
+ }
|
|
+
|
|
return 0;
|
|
|
|
fail_nvmem_add:
|