fix ar2315 rootfs mount
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 19 Feb 2007 16:48:02 +0000 (16:48 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 19 Feb 2007 16:48:02 +0000 (16:48 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@6325 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/atheros-2.6/files/drivers/mtd/devices/spiflash.c

index 067f32b3144d2572a8eda12846f4a99e3ee6350e..32a132a9ead8123585ca168f7c5ef1e42bd451a7 100644 (file)
@@ -396,7 +396,7 @@ static const char *part_probe_types[] = { "cmdlinepart", "RedBoot", NULL };
 
 static int spiflash_probe(struct platform_device *pdev)
 {
-       int result = -1;
+       int i, result = -1;
        int index, num_parts;
        struct mtd_info *mtd;
 
@@ -472,6 +472,12 @@ static int spiflash_probe(struct platform_device *pdev)
 #endif
        /* parse redboot partitions */
        num_parts = parse_mtd_partitions(mtd, part_probe_types, &spidata->parsed_parts, 0);
+       for (i = 0; i < num_parts; i++) {
+               if (!strcmp(spidata->parsed_parts[i].name, ROOTFS_NAME)) {
+                       /* create the root device */
+                       ROOT_DEV = MKDEV(MTD_BLOCK_MAJOR, i);
+               }
+       }
 
 #ifdef SPIFLASH_DEBUG
        printk (KERN_DEBUG "Found %d partitions\n", num_parts);