kernel: remove obsolete non-upstream block2mtd patches
Since block2mtd is not used for firmware images anymore, these patches are no longer needed Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
		| @@ -1,116 +0,0 @@ | |||||||
| From: Felix Fietkau <nbd@nbd.name> |  | ||||||
| Subject: block2mtd |  | ||||||
|  |  | ||||||
| Signed-off-by: Felix Fietkau <nbd@nbd.name> |  | ||||||
| --- |  | ||||||
|  drivers/mtd/devices/block2mtd.c | 30 ++++++++++++++++++++---------- |  | ||||||
|  1 file changed, 20 insertions(+), 10 deletions(-) |  | ||||||
|  |  | ||||||
| --- a/drivers/mtd/devices/block2mtd.c |  | ||||||
| +++ b/drivers/mtd/devices/block2mtd.c |  | ||||||
| @@ -26,6 +26,7 @@ |  | ||||||
|  #include <linux/list.h> |  | ||||||
|  #include <linux/init.h> |  | ||||||
|  #include <linux/mtd/mtd.h> |  | ||||||
| +#include <linux/mtd/partitions.h> |  | ||||||
|  #include <linux/mutex.h> |  | ||||||
|  #include <linux/mount.h> |  | ||||||
|  #include <linux/slab.h> |  | ||||||
| @@ -214,7 +215,7 @@ static void block2mtd_free_device(struct |  | ||||||
|   |  | ||||||
|   |  | ||||||
|  static struct block2mtd_dev *add_device(char *devname, int erase_size, |  | ||||||
| -		int timeout) |  | ||||||
| +		const char *mtdname, int timeout) |  | ||||||
|  { |  | ||||||
|  #ifndef MODULE |  | ||||||
|  	int i; |  | ||||||
| @@ -222,6 +223,7 @@ static struct block2mtd_dev *add_device( |  | ||||||
|  	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) |  | ||||||
| @@ -278,13 +280,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 err_destroy_mutex; |  | ||||||
|   |  | ||||||
| +	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.writebufsize = PAGE_SIZE; |  | ||||||
| @@ -297,7 +302,11 @@ 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 err_destroy_mutex; |  | ||||||
|  	} |  | ||||||
| @@ -305,8 +314,7 @@ static struct block2mtd_dev *add_device( |  | ||||||
|  	list_add(&dev->list, &blkmtd_device_list); |  | ||||||
|  	pr_info("mtd%d: [%s] erase_size = %dKiB [%d]\n", |  | ||||||
|  		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; |  | ||||||
|   |  | ||||||
|  err_destroy_mutex: |  | ||||||
| @@ -379,7 +387,7 @@ static int block2mtd_setup2(const char * |  | ||||||
|  	/* 80 for device, 12 for erase size, 80 for name, 8 for timeout */ |  | ||||||
|  	char buf[80 + 12 + 80 + 8]; |  | ||||||
|  	char *str = buf; |  | ||||||
| -	char *token[2]; |  | ||||||
| +	char *token[3]; |  | ||||||
|  	char *name; |  | ||||||
|  	size_t erase_size = PAGE_SIZE; |  | ||||||
|  	unsigned long timeout = MTD_DEFAULT_TIMEOUT; |  | ||||||
| @@ -393,7 +401,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) { |  | ||||||
| @@ -419,8 +427,10 @@ static int block2mtd_setup2(const char * |  | ||||||
|  			return 0; |  | ||||||
|  		} |  | ||||||
|  	} |  | ||||||
| +	if (token[2] && (strlen(token[2]) + 1 > 80)) |  | ||||||
| +		pr_err("mtd device name too long\n"); |  | ||||||
|   |  | ||||||
| -	add_device(name, erase_size, timeout); |  | ||||||
| +	add_device(name, erase_size, token[2], timeout); |  | ||||||
|   |  | ||||||
|  	return 0; |  | ||||||
|  } |  | ||||||
| @@ -454,7 +464,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) |  | ||||||
|  { |  | ||||||
| @@ -1,47 +0,0 @@ | |||||||
| From: Felix Fietkau <nbd@nbd.name> |  | ||||||
| Subject: block2mtd |  | ||||||
|  |  | ||||||
| Signed-off-by: Felix Fietkau <nbd@nbd.name> |  | ||||||
| --- |  | ||||||
|  drivers/mtd/devices/block2mtd.c | 9 ++++++--- |  | ||||||
|  1 file changed, 6 insertions(+), 3 deletions(-) |  | ||||||
|  |  | ||||||
| --- a/drivers/mtd/devices/block2mtd.c |  | ||||||
| +++ b/drivers/mtd/devices/block2mtd.c |  | ||||||
| @@ -387,7 +387,7 @@ static int block2mtd_setup2(const char * |  | ||||||
|  	/* 80 for device, 12 for erase size, 80 for name, 8 for timeout */ |  | ||||||
|  	char buf[80 + 12 + 80 + 8]; |  | ||||||
|  	char *str = buf; |  | ||||||
| -	char *token[3]; |  | ||||||
| +	char *token[4]; |  | ||||||
|  	char *name; |  | ||||||
|  	size_t erase_size = PAGE_SIZE; |  | ||||||
|  	unsigned long timeout = MTD_DEFAULT_TIMEOUT; |  | ||||||
| @@ -401,7 +401,7 @@ static int block2mtd_setup2(const char * |  | ||||||
|  	strcpy(str, val); |  | ||||||
|  	kill_final_newline(str); |  | ||||||
|   |  | ||||||
| -	for (i = 0; i < 3; i++) |  | ||||||
| +	for (i = 0; i < 4; i++) |  | ||||||
|  		token[i] = strsep(&str, ","); |  | ||||||
|   |  | ||||||
|  	if (str) { |  | ||||||
| @@ -430,6 +430,9 @@ static int block2mtd_setup2(const char * |  | ||||||
|  	if (token[2] && (strlen(token[2]) + 1 > 80)) |  | ||||||
|  		pr_err("mtd device name too long\n"); |  | ||||||
|   |  | ||||||
| +	if (token[3] && kstrtoul(token[3], 0, &timeout)) |  | ||||||
| +		pr_err("invalid timeout\n"); |  | ||||||
| + |  | ||||||
|  	add_device(name, erase_size, token[2], timeout); |  | ||||||
|   |  | ||||||
|  	return 0; |  | ||||||
| @@ -464,7 +467,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>[,<name>]]\""); |  | ||||||
| +MODULE_PARM_DESC(block2mtd, "Device to use. \"block2mtd=<dev>[,<erasesize>[,<name>[,<timeout>]]]\""); |  | ||||||
|   |  | ||||||
|  static int __init block2mtd_init(void) |  | ||||||
|  { |  | ||||||
| @@ -1,116 +0,0 @@ | |||||||
| From: Felix Fietkau <nbd@nbd.name> |  | ||||||
| Subject: block2mtd |  | ||||||
|  |  | ||||||
| Signed-off-by: Felix Fietkau <nbd@nbd.name> |  | ||||||
| --- |  | ||||||
|  drivers/mtd/devices/block2mtd.c | 30 ++++++++++++++++++++---------- |  | ||||||
|  1 file changed, 20 insertions(+), 10 deletions(-) |  | ||||||
|  |  | ||||||
| --- a/drivers/mtd/devices/block2mtd.c |  | ||||||
| +++ b/drivers/mtd/devices/block2mtd.c |  | ||||||
| @@ -26,6 +26,7 @@ |  | ||||||
|  #include <linux/list.h> |  | ||||||
|  #include <linux/init.h> |  | ||||||
|  #include <linux/mtd/mtd.h> |  | ||||||
| +#include <linux/mtd/partitions.h> |  | ||||||
|  #include <linux/mutex.h> |  | ||||||
|  #include <linux/mount.h> |  | ||||||
|  #include <linux/slab.h> |  | ||||||
| @@ -214,7 +215,7 @@ static void block2mtd_free_device(struct |  | ||||||
|   |  | ||||||
|   |  | ||||||
|  static struct block2mtd_dev *add_device(char *devname, int erase_size, |  | ||||||
| -		int timeout) |  | ||||||
| +		const char *mtdname, int timeout) |  | ||||||
|  { |  | ||||||
|  #ifndef MODULE |  | ||||||
|  	int i; |  | ||||||
| @@ -222,6 +223,7 @@ static struct block2mtd_dev *add_device( |  | ||||||
|  	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) |  | ||||||
| @@ -278,13 +280,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 err_destroy_mutex; |  | ||||||
|   |  | ||||||
| +	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.writebufsize = PAGE_SIZE; |  | ||||||
| @@ -297,7 +302,11 @@ 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 err_destroy_mutex; |  | ||||||
|  	} |  | ||||||
| @@ -305,8 +314,7 @@ static struct block2mtd_dev *add_device( |  | ||||||
|  	list_add(&dev->list, &blkmtd_device_list); |  | ||||||
|  	pr_info("mtd%d: [%s] erase_size = %dKiB [%d]\n", |  | ||||||
|  		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; |  | ||||||
|   |  | ||||||
|  err_destroy_mutex: |  | ||||||
| @@ -381,7 +389,7 @@ static int block2mtd_setup2(const char * |  | ||||||
|  	/* 80 for device, 12 for erase size, 80 for name, 8 for timeout */ |  | ||||||
|  	char buf[80 + 12 + 80 + 8]; |  | ||||||
|  	char *str = buf; |  | ||||||
| -	char *token[2]; |  | ||||||
| +	char *token[3]; |  | ||||||
|  	char *name; |  | ||||||
|  	size_t erase_size = PAGE_SIZE; |  | ||||||
|  	unsigned long timeout = MTD_DEFAULT_TIMEOUT; |  | ||||||
| @@ -395,7 +403,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) { |  | ||||||
| @@ -421,8 +429,10 @@ static int block2mtd_setup2(const char * |  | ||||||
|  			return 0; |  | ||||||
|  		} |  | ||||||
|  	} |  | ||||||
| +	if (token[2] && (strlen(token[2]) + 1 > 80)) |  | ||||||
| +		pr_err("mtd device name too long\n"); |  | ||||||
|   |  | ||||||
| -	add_device(name, erase_size, timeout); |  | ||||||
| +	add_device(name, erase_size, token[2], timeout); |  | ||||||
|   |  | ||||||
|  	return 0; |  | ||||||
|  } |  | ||||||
| @@ -456,7 +466,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) |  | ||||||
|  { |  | ||||||
| @@ -1,47 +0,0 @@ | |||||||
| From: Felix Fietkau <nbd@nbd.name> |  | ||||||
| Subject: block2mtd |  | ||||||
|  |  | ||||||
| Signed-off-by: Felix Fietkau <nbd@nbd.name> |  | ||||||
| --- |  | ||||||
|  drivers/mtd/devices/block2mtd.c | 9 ++++++--- |  | ||||||
|  1 file changed, 6 insertions(+), 3 deletions(-) |  | ||||||
|  |  | ||||||
| --- a/drivers/mtd/devices/block2mtd.c |  | ||||||
| +++ b/drivers/mtd/devices/block2mtd.c |  | ||||||
| @@ -389,7 +389,7 @@ static int block2mtd_setup2(const char * |  | ||||||
|  	/* 80 for device, 12 for erase size, 80 for name, 8 for timeout */ |  | ||||||
|  	char buf[80 + 12 + 80 + 8]; |  | ||||||
|  	char *str = buf; |  | ||||||
| -	char *token[3]; |  | ||||||
| +	char *token[4]; |  | ||||||
|  	char *name; |  | ||||||
|  	size_t erase_size = PAGE_SIZE; |  | ||||||
|  	unsigned long timeout = MTD_DEFAULT_TIMEOUT; |  | ||||||
| @@ -403,7 +403,7 @@ static int block2mtd_setup2(const char * |  | ||||||
|  	strcpy(str, val); |  | ||||||
|  	kill_final_newline(str); |  | ||||||
|   |  | ||||||
| -	for (i = 0; i < 3; i++) |  | ||||||
| +	for (i = 0; i < 4; i++) |  | ||||||
|  		token[i] = strsep(&str, ","); |  | ||||||
|   |  | ||||||
|  	if (str) { |  | ||||||
| @@ -432,6 +432,9 @@ static int block2mtd_setup2(const char * |  | ||||||
|  	if (token[2] && (strlen(token[2]) + 1 > 80)) |  | ||||||
|  		pr_err("mtd device name too long\n"); |  | ||||||
|   |  | ||||||
| +	if (token[3] && kstrtoul(token[3], 0, &timeout)) |  | ||||||
| +		pr_err("invalid timeout\n"); |  | ||||||
| + |  | ||||||
|  	add_device(name, erase_size, token[2], timeout); |  | ||||||
|   |  | ||||||
|  	return 0; |  | ||||||
| @@ -466,7 +469,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>[,<name>]]\""); |  | ||||||
| +MODULE_PARM_DESC(block2mtd, "Device to use. \"block2mtd=<dev>[,<erasesize>[,<name>[,<timeout>]]]\""); |  | ||||||
|   |  | ||||||
|  static int __init block2mtd_init(void) |  | ||||||
|  { |  | ||||||
		Reference in New Issue
	
	Block a user
	 Felix Fietkau
					Felix Fietkau