diff options
Diffstat (limited to 'target/linux/generic-2.6/patches-2.6.27')
-rw-r--r-- | target/linux/generic-2.6/patches-2.6.27/065-rootfs_split.patch | 29 |
1 files 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 41cca49cc..aff95ccec 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; |