mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-30 13:34:27 -04:00 
			
		
		
		
	Move 480-mtd-set-rootfs-to-be-root-dev.patch to hack-5.10 and fix assumption
about the block device index.
Fixes: 2809d00007 ("kernel: support FIT partition parser on mtdblock devices")
Acked-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
		
	
			
		
			
				
	
	
		
			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>
 | |
| @@ -694,6 +695,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 <<= 1;
 | |
| +#endif
 | |
| +		ROOT_DEV = MKDEV(MTD_BLOCK_MAJOR, index);
 | |
| +	}
 | |
| +
 | |
|  	return 0;
 | |
|  
 | |
|  fail_nvmem_add:
 |