From 3bd685b0cec4989fb2d075a56f1ada5ff18c69a8 Mon Sep 17 00:00:00 2001 From: Lars-Peter Clausen Date: Wed, 5 Nov 2008 10:47:35 +0000 Subject: [PATCH] Fix broken patch to drivers/mtd/device/block2mtd.c SVN-Revision: 13125 --- .../patches-2.6.27/065-rootfs_split.patch | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/target/linux/generic-2.6/patches-2.6.27/065-rootfs_split.patch b/target/linux/generic-2.6/patches-2.6.27/065-rootfs_split.patch index 41cca49cc3..aff95ccecc 100644 --- a/target/linux/generic-2.6/patches-2.6.27/065-rootfs_split.patch +++ b/target/linux/generic-2.6/patches-2.6.27/065-rootfs_split.patch @@ -387,19 +387,35 @@ return; } -@@ -231,31 +272,22 @@ static void block2mtd_free_device(struct - kfree(dev); +@@ -288,47 +288,17 @@ static void block2mtd_sync(struct mtd_info *mtd) } + +-static void block2mtd_free_device(struct block2mtd_dev *dev) +-{ +- if (!dev) +- return; +- +- kfree(dev->mtd.name); +- +- if (dev->blkdev) { +- invalidate_mapping_pages(dev->blkdev->bd_inode->i_mapping, +- 0, -1); +- close_bdev_excl(dev->blkdev); +- } +- +- kfree(dev); +-} +- - -/* FIXME: ensure that mtd->size % erase_size == 0 */ -static struct block2mtd_dev *add_device(char *devname, int erase_size, const char *mtdname) +static int _open_bdev(struct block2mtd_dev *dev) { struct block_device *bdev; - struct block2mtd_dev *dev; - struct mtd_partition *part; - char *name; +- struct block2mtd_dev *dev; +- struct mtd_partition *part; +- char *name; - if (!devname) - return NULL; @@ -422,7 +438,7 @@ if (devt) { bdev = open_by_devnum(devt, FMODE_WRITE | FMODE_READ); } -@@ -263,17 +295,96 @@ static struct block2mtd_dev *add_device( +@@ -263,17 +295,97 @@ static struct block2mtd_dev *add_device( #endif if (IS_ERR(bdev)) { @@ -504,6 +520,7 @@ +{ + struct block2mtd_dev *dev; + struct mtd_partition *part; ++ char *name; + + if (!devname) + return NULL;