mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-04 06:54:27 -05:00 
			
		
		
		
	Fixes: 1a9ee36734 ("kernel: backport mtd dynamic partition patch")
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>
 | 
						|
@@ -770,6 +771,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:
 |