diff options
| author | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-05-27 15:01:09 +0000 | 
|---|---|---|
| committer | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-05-27 15:01:09 +0000 | 
| commit | e3e4a95d9b972c8688fa8dd01a07645761fced03 (patch) | |
| tree | 67ea5cdd7c54260a66c617e12e458ae08576ff0f /target/linux/generic/patches-3.1/440-block2mtd_init.patch | |
| parent | e17d6b07094e4c7d1ebbd92ee4e32deac4c9dc29 (diff) | |
linux/3.1: R.I.P.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31891 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic/patches-3.1/440-block2mtd_init.patch')
| -rw-r--r-- | target/linux/generic/patches-3.1/440-block2mtd_init.patch | 116 | 
1 files changed, 0 insertions, 116 deletions
| diff --git a/target/linux/generic/patches-3.1/440-block2mtd_init.patch b/target/linux/generic/patches-3.1/440-block2mtd_init.patch deleted file mode 100644 index 53979b267..000000000 --- a/target/linux/generic/patches-3.1/440-block2mtd_init.patch +++ /dev/null @@ -1,116 +0,0 @@ ---- a/drivers/mtd/devices/block2mtd.c -+++ b/drivers/mtd/devices/block2mtd.c -@@ -14,6 +14,7 @@ - #include <linux/list.h> - #include <linux/init.h> - #include <linux/mtd/mtd.h> -+#include <linux/mtd/partitions.h> - #include <linux/buffer_head.h> - #include <linux/mutex.h> - #include <linux/mount.h> -@@ -232,11 +233,12 @@ static void block2mtd_free_device(struct -  -  - /* FIXME: ensure that mtd->size % erase_size == 0 */ --static struct block2mtd_dev *add_device(char *devname, int erase_size) -+static struct block2mtd_dev *add_device(char *devname, int erase_size, const char *mtdname) - { - 	const fmode_t mode = FMODE_READ | FMODE_WRITE | FMODE_EXCL; - 	struct block_device *bdev; - 	struct block2mtd_dev *dev; -+	struct mtd_partition *part; - 	char *name; -  - 	if (!devname) -@@ -275,13 +277,16 @@ static struct block2mtd_dev *add_device( -  - 	/* Setup the MTD structure */ - 	/* make the name contain the block device in */ --	name = kasprintf(GFP_KERNEL, "block2mtd: %s", devname); -+	if (!mtdname) -+		mtdname = devname; -+	name = kmalloc(strlen(mtdname) + 1, GFP_KERNEL); - 	if (!name) - 		goto devinit_err; -  -+	strcpy(name, mtdname); - 	dev->mtd.name = name; -  --	dev->mtd.size = dev->blkdev->bd_inode->i_size & PAGE_MASK; -+	dev->mtd.size = dev->blkdev->bd_inode->i_size & PAGE_MASK & ~(erase_size - 1); - 	dev->mtd.erasesize = erase_size; - 	dev->mtd.writesize = 1; - 	dev->mtd.type = MTD_RAM; -@@ -294,14 +299,17 @@ static struct block2mtd_dev *add_device( - 	dev->mtd.priv = dev; - 	dev->mtd.owner = THIS_MODULE; -  --	if (mtd_device_register(&dev->mtd, NULL, 0)) { -+	part = kzalloc(sizeof(struct mtd_partition), GFP_KERNEL); -+	part->name = name; -+	part->offset = 0; -+	part->size = dev->mtd.size; -+	if (mtd_device_register(&dev->mtd, part, 1)) { - 		/* Device didn't get added, so free the entry */ - 		goto devinit_err; - 	} - 	list_add(&dev->list, &blkmtd_device_list); - 	INFO("mtd%d: [%s] erase_size = %dKiB [%d]", dev->mtd.index, --			dev->mtd.name + strlen("block2mtd: "), --			dev->mtd.erasesize >> 10, dev->mtd.erasesize); -+			mtdname, dev->mtd.erasesize >> 10, dev->mtd.erasesize); - 	return dev; -  - devinit_err: -@@ -374,9 +382,9 @@ static char block2mtd_paramline[80 + 12] -  - static int block2mtd_setup2(const char *val) - { --	char buf[80 + 12]; /* 80 for device, 12 for erase size */ -+	char buf[80 + 12 + 80]; /* 80 for device, 12 for erase size, 80 for name */ - 	char *str = buf; --	char *token[2]; -+	char *token[3]; - 	char *name; - 	size_t erase_size = PAGE_SIZE; - 	int i, ret; -@@ -387,7 +395,7 @@ static int block2mtd_setup2(const char * - 	strcpy(str, val); - 	kill_final_newline(str); -  --	for (i = 0; i < 2; i++) -+	for (i = 0; i < 3; i++) - 		token[i] = strsep(&str, ","); -  - 	if (str) -@@ -406,8 +414,10 @@ static int block2mtd_setup2(const char * - 			parse_err("illegal erase size"); - 		} - 	} -+	if (token[2] && (strlen(token[2]) + 1 > 80)) -+		parse_err("mtd device name too long"); -  --	add_device(name, erase_size); -+	add_device(name, erase_size, token[2]); -  - 	return 0; - } -@@ -441,7 +451,7 @@ static int block2mtd_setup(const char *v -  -  - module_param_call(block2mtd, block2mtd_setup, NULL, NULL, 0200); --MODULE_PARM_DESC(block2mtd, "Device to use. \"block2mtd=<dev>[,<erasesize>]\""); -+MODULE_PARM_DESC(block2mtd, "Device to use. \"block2mtd=<dev>[,<erasesize>[,<name>]]\""); -  - static int __init block2mtd_init(void) - { ---- a/fs/partitions/check.c -+++ b/fs/partitions/check.c -@@ -664,6 +664,7 @@ rescan: - 	kfree(state); - 	return 0; - } -+EXPORT_SYMBOL(rescan_partitions); -  - unsigned char *read_dev_sector(struct block_device *bdev, sector_t n, Sector *p) - { | 
