aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-3.10/480-mtd-set-rootfs-to-be-root-dev.patch
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2013-11-04 18:37:05 +0000
committerGabor Juhos <juhosg@openwrt.org>2013-11-04 18:37:05 +0000
commit5dba0a237e0de82433c85a4ad6ad07cad47d928a (patch)
tree34cd0d7d8c1ca0e82304a1ecf4f7451322735d87 /target/linux/generic/patches-3.10/480-mtd-set-rootfs-to-be-root-dev.patch
parent866dd2a3788f31c29c735c149d3e905ac2d37930 (diff)
downloadupstream-5dba0a237e0de82433c85a4ad6ad07cad47d928a.tar.gz
upstream-5dba0a237e0de82433c85a4ad6ad07cad47d928a.tar.bz2
upstream-5dba0a237e0de82433c85a4ad6ad07cad47d928a.zip
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> SVN-Revision: 38643
Diffstat (limited to 'target/linux/generic/patches-3.10/480-mtd-set-rootfs-to-be-root-dev.patch')
-rw-r--r--target/linux/generic/patches-3.10/480-mtd-set-rootfs-to-be-root-dev.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/target/linux/generic/patches-3.10/480-mtd-set-rootfs-to-be-root-dev.patch b/target/linux/generic/patches-3.10/480-mtd-set-rootfs-to-be-root-dev.patch
new file mode 100644
index 0000000000..58c4a8ae3f
--- /dev/null
+++ b/target/linux/generic/patches-3.10/480-mtd-set-rootfs-to-be-root-dev.patch
@@ -0,0 +1,26 @@
+--- a/drivers/mtd/mtdcore.c
++++ b/drivers/mtd/mtdcore.c
+@@ -37,6 +37,7 @@
+ #include <linux/backing-dev.h>
+ #include <linux/gfp.h>
+ #include <linux/slab.h>
++#include <linux/root_dev.h>
+
+ #include <linux/mtd/mtd.h>
+ #include <linux/mtd/partitions.h>
+@@ -408,6 +409,15 @@ 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") &&
++ config_enabled(CONFIG_MTD_ROOTFS_ROOT_DEV) &&
++ ROOT_DEV == 0) {
++ pr_notice("mtd: device %d (%s) set to be root filesystem\n",
++ mtd->index, mtd->name);
++ ROOT_DEV = MKDEV(MTD_BLOCK_MAJOR, mtd->index);
++ }
++
+ return 0;
+
+ fail_added: