/* Static info about the MTD, used in cleanup_module */
static LIST_HEAD(blkmtd_device_list);
-
-static struct page *page_read(struct address_space *mapping, pgoff_t index)
-{
- return read_mapping_page(mapping, index, NULL);
-}
-
/* erase a specified part of the device */
static int _block2mtd_erase(struct block2mtd_dev *dev, loff_t to, size_t len)
{
u_long *max;
while (pages) {
- page = page_read(mapping, index);
+ page = bdev_read_cache_page(dev->blkdev, index, GFP_NOFS);
if (IS_ERR(page))
return PTR_ERR(page);
cpylen = len; // this page
len = len - cpylen;
- page = page_read(dev->blkdev->bd_inode->i_mapping, index);
+ page = bdev_read_cache_page(dev->blkdev, index, GFP_NOFS);
if (IS_ERR(page))
return PTR_ERR(page);
cpylen = len; // this page
len = len - cpylen;
- page = page_read(mapping, index);
+ page = bdev_read_cache_page(dev->blkdev, index, GFP_NOFS);
if (IS_ERR(page))
return PTR_ERR(page);