123456789101112131415161718192021222324252627282930313233343536373839404142 |
- From: Gabor Juhos <[email protected]>
- 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 <[email protected]>
- ---
- 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:
|