mediatek: update patches
[openwrt/staging/chunkeey.git] / target / linux / mediatek / patches-4.4 / 0100-block2mtd.patch
1 --- a/drivers/mtd/devices/block2mtd.c
2 +++ b/drivers/mtd/devices/block2mtd.c
3 @@ -32,6 +32,8 @@
4 #include <linux/slab.h>
5 #include <linux/major.h>
6
7 +static const char * const block2mtd_probe_types[] = { "cmdlinepart", NULL };
8 +
9 /* Info for the block device */
10 struct block2mtd_dev {
11 struct list_head list;
12 @@ -227,6 +229,7 @@ static struct block2mtd_dev *add_device(
13 #endif
14 const fmode_t mode = FMODE_READ | FMODE_WRITE | FMODE_EXCL;
15 struct block_device *bdev = ERR_PTR(-ENODEV);
16 + struct mtd_part_parser_data ppdata = { 0 };
17 struct block2mtd_dev *dev;
18 struct mtd_partition *part;
19 char *name;
20 @@ -307,11 +310,7 @@ static struct block2mtd_dev *add_device(
21 dev->mtd.priv = dev;
22 dev->mtd.owner = THIS_MODULE;
23
24 - part = kzalloc(sizeof(struct mtd_partition), GFP_KERNEL);
25 - part->name = name;
26 - part->offset = 0;
27 - part->size = dev->mtd.size;
28 - if (mtd_device_register(&dev->mtd, part, 1)) {
29 + if (mtd_device_parse_register(&dev->mtd, block2mtd_probe_types, &ppdata, NULL, 0)) {
30 /* Device didn't get added, so free the entry */
31 goto err_destroy_mutex;
32 }