| 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> |
| @@ -754,6 +755,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") && |
| + IS_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_nvmem_add: |