mirror of
https://github.com/openwrt/openwrt.git
synced 2025-01-02 03:56:49 +00:00
6a64eb2664
This is some hack on top of our old hack. Use separated patch for it so it's easier to understand and actually possible to describe. We should ideally get rid of this (and we actually did with kernels 5.15+). Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
40 lines
1.1 KiB
Diff
40 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>
|
|
@@ -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:
|