diff options
author | John Crispin <john@openwrt.org> | 2016-03-23 11:12:34 +0000 |
---|---|---|
committer | John Crispin <john@openwrt.org> | 2016-03-23 11:12:34 +0000 |
commit | dd70bcc0895463dadf1976b925bb5e705a1ed2cb (patch) | |
tree | fd5b6a818313f2f71fd320ba704d948d2ae11e42 /target/linux/mediatek/patches-4.4 | |
parent | 30d3a8c512c259614dd3da9cd1ef8d125c981555 (diff) | |
download | upstream-dd70bcc0895463dadf1976b925bb5e705a1ed2cb.tar.gz upstream-dd70bcc0895463dadf1976b925bb5e705a1ed2cb.tar.bz2 upstream-dd70bcc0895463dadf1976b925bb5e705a1ed2cb.zip |
mediatek: patch block2mtd to allow cmdlineparts to work
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 49067
Diffstat (limited to 'target/linux/mediatek/patches-4.4')
-rw-r--r-- | target/linux/mediatek/patches-4.4/0100-block2mtd.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/target/linux/mediatek/patches-4.4/0100-block2mtd.patch b/target/linux/mediatek/patches-4.4/0100-block2mtd.patch new file mode 100644 index 0000000000..7fbd6d4019 --- /dev/null +++ b/target/linux/mediatek/patches-4.4/0100-block2mtd.patch @@ -0,0 +1,32 @@ +--- a/drivers/mtd/devices/block2mtd.c ++++ b/drivers/mtd/devices/block2mtd.c +@@ -32,6 +32,8 @@ + #include <linux/slab.h> + #include <linux/major.h> + ++static const char * const block2mtd_probe_types[] = { "cmdlinepart", NULL }; ++ + /* Info for the block device */ + struct block2mtd_dev { + struct list_head list; +@@ -227,6 +229,7 @@ + #endif + const fmode_t mode = FMODE_READ | FMODE_WRITE | FMODE_EXCL; + struct block_device *bdev = ERR_PTR(-ENODEV); ++ struct mtd_part_parser_data ppdata = { 0 }; + struct block2mtd_dev *dev; + struct mtd_partition *part; + char *name; +@@ -307,11 +310,7 @@ + dev->mtd.priv = dev; + dev->mtd.owner = THIS_MODULE; + +- 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)) { ++ if (mtd_device_parse_register(&dev->mtd, block2mtd_probe_types, &ppdata, NULL, 0)) { + /* Device didn't get added, so free the entry */ + goto err_destroy_mutex; + } |