mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 07:22:33 +00:00
cae4d089bc
Backport upstream solution that permits to declare nvmem cells with
dynamic partition defined by special parser.
This provide an OF node for NVMEM and connect it to the defined dynamic
partition.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 1a9ee36734
)
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>
|
|
@@ -765,6 +766,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:
|