diff options
Diffstat (limited to 'target/linux')
| -rw-r--r-- | target/linux/brcm47xx-2.6/config/default | 2 | ||||
| -rw-r--r-- | target/linux/brcm47xx-2.6/files/drivers/mtd/maps/bcm47xx-flash.c | 47 | 
2 files changed, 3 insertions, 46 deletions
diff --git a/target/linux/brcm47xx-2.6/config/default b/target/linux/brcm47xx-2.6/config/default index a556d5e48..a92a0aa44 100644 --- a/target/linux/brcm47xx-2.6/config/default +++ b/target/linux/brcm47xx-2.6/config/default @@ -196,7 +196,7 @@ CONFIG_MTD_PARTITIONS=y  # CONFIG_MTD_REDBOOT_PARTS is not set  # CONFIG_MTD_ROM is not set  # CONFIG_MTD_SLRAM is not set -# CONFIG_MTD_SPLIT_ROOTFS is not set +CONFIG_MTD_SPLIT_ROOTFS=y  # CONFIG_NATSEMI is not set  # CONFIG_NE2K_PCI is not set  # CONFIG_NETFILTER_XT_MATCH_COMMENT is not set diff --git a/target/linux/brcm47xx-2.6/files/drivers/mtd/maps/bcm47xx-flash.c b/target/linux/brcm47xx-2.6/files/drivers/mtd/maps/bcm47xx-flash.c index 774d4ad65..e01654ca0 100644 --- a/target/linux/brcm47xx-2.6/files/drivers/mtd/maps/bcm47xx-flash.c +++ b/target/linux/brcm47xx-2.6/files/drivers/mtd/maps/bcm47xx-flash.c @@ -46,8 +46,6 @@  #ifdef CONFIG_MTD_PARTITIONS  #include <linux/mtd/partitions.h>  #endif -#include <linux/squashfs_fs.h> -#include <linux/jffs2.h>  #include <linux/crc32.h>  #ifdef CONFIG_SSB  #include <linux/ssb/ssb.h> @@ -95,7 +93,6 @@ static struct mtd_partition bcm947xx_parts[] = {  	{ name: "linux", offset: 0, size: 0, },  	{ name: "rootfs", offset: 0, size: 0, },  	{ name: "nvram", offset: 0, size: 0, }, -	{ name: "rootfs_data", offset: 0, size: 0, },  	{ name: NULL, },  }; @@ -259,24 +256,8 @@ find_root(struct mtd_info *mtd, size_t size, struct mtd_partition *part)  	if (mtd->read(mtd, part->offset, sizeof(buf), &len, buf) || len != sizeof(buf))  		return 0; -	if (*((__u32 *) buf) == SQUASHFS_MAGIC) { -		printk(KERN_INFO "%s: Filesystem type: squashfs, size=0x%x\n", mtd->name, (u32) sb->bytes_used); - -		/* Update the squashfs partition size based on the superblock info */ -		part->size = sb->bytes_used; -		len = part->offset + part->size; -		len +=  (mtd->erasesize - 1); -		len &= ~(mtd->erasesize - 1); -		part->size = len - part->offset; -	} else if (*((__u16 *) buf) == JFFS2_MAGIC_BITMASK) { -		printk(KERN_INFO "%s: Filesystem type: jffs2\n", mtd->name); - -		/* Move the squashfs outside of the trx */ -		part->size = 0; -	} else { -		printk(KERN_INFO "%s: Filesystem type: unknown\n", mtd->name); -		return 0; -	} +	/* Move the fs outside of the trx */ +	part->size = 0;  	if (trx.len != part->offset + part->size - off) {  		/* Update the trx offsets and length */ @@ -355,32 +336,8 @@ init_mtd_partitions(struct mtd_info *mtd, size_t size)  	/* find and size rootfs */  	if (find_root(mtd,size,&bcm947xx_parts[2])==0) { -		/* entirely jffs2 */ -		bcm947xx_parts[4].name = NULL;  		bcm947xx_parts[2].size = size - bcm947xx_parts[2].offset -   				bcm947xx_parts[3].size; -	} else { -		/* legacy setup */ -		/* calculate leftover flash, and assign it to the jffs2 partition */ -		if (cfe_size != 384 * 1024) { -			bcm947xx_parts[4].offset = bcm947xx_parts[2].offset +  -				bcm947xx_parts[2].size; -			if ((bcm947xx_parts[4].offset % mtd->erasesize) > 0) { -				bcm947xx_parts[4].offset += mtd->erasesize -  -					(bcm947xx_parts[4].offset % mtd->erasesize); -			} -			bcm947xx_parts[4].size = bcm947xx_parts[3].offset -  -				bcm947xx_parts[4].offset; -		} else { -			bcm947xx_parts[4].offset = bcm947xx_parts[2].offset +  -				bcm947xx_parts[2].size; -			if ((bcm947xx_parts[4].offset % mtd->erasesize) > 0) { -				bcm947xx_parts[4].offset += mtd->erasesize -  -					(bcm947xx_parts[4].offset % mtd->erasesize); -			} -			bcm947xx_parts[4].size = size - bcm947xx_parts[3].size -  -				bcm947xx_parts[4].offset; -		}  	}  	return bcm947xx_parts;  | 
