summaryrefslogtreecommitdiffstats
path: root/drivers/mtd/mtd_blkdevs.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2008-03-02 16:35:06 +0100
committerAl Viro <viro@zeniv.linux.org.uk>2008-10-21 13:48:38 +0200
commitaf0e2a0a87a7daeff9b77d82376c98fc6de3443f (patch)
tree8864b1ded7d7eaf0c859a07523b7475b6de28d49 /drivers/mtd/mtd_blkdevs.c
parent[PATCH] switch mmc (diff)
downloadlinux-af0e2a0a87a7daeff9b77d82376c98fc6de3443f.tar.xz
linux-af0e2a0a87a7daeff9b77d82376c98fc6de3443f.zip
[PATCH] switch mtd_blkdevs
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'drivers/mtd/mtd_blkdevs.c')
-rw-r--r--drivers/mtd/mtd_blkdevs.c28
1 files changed, 11 insertions, 17 deletions
diff --git a/drivers/mtd/mtd_blkdevs.c b/drivers/mtd/mtd_blkdevs.c
index b00d07c53753..1409f01406f6 100644
--- a/drivers/mtd/mtd_blkdevs.c
+++ b/drivers/mtd/mtd_blkdevs.c
@@ -133,15 +133,12 @@ static void mtd_blktrans_request(struct request_queue *rq)
}
-static int blktrans_open(struct inode *i, struct file *f)
+static int blktrans_open(struct block_device *bdev, fmode_t mode)
{
- struct mtd_blktrans_dev *dev;
- struct mtd_blktrans_ops *tr;
+ struct mtd_blktrans_dev *dev = bdev->bd_disk->private_data;
+ struct mtd_blktrans_ops *tr = dev->tr;
int ret = -ENODEV;
- dev = i->i_bdev->bd_disk->private_data;
- tr = dev->tr;
-
if (!try_module_get(dev->mtd->owner))
goto out;
@@ -164,15 +161,12 @@ static int blktrans_open(struct inode *i, struct file *f)
return ret;
}
-static int blktrans_release(struct inode *i, struct file *f)
+static int blktrans_release(struct gendisk *disk, fmode_t mode)
{
- struct mtd_blktrans_dev *dev;
- struct mtd_blktrans_ops *tr;
+ struct mtd_blktrans_dev *dev = disk->private_data;
+ struct mtd_blktrans_ops *tr = dev->tr;
int ret = 0;
- dev = i->i_bdev->bd_disk->private_data;
- tr = dev->tr;
-
if (tr->release)
ret = tr->release(dev);
@@ -194,10 +188,10 @@ static int blktrans_getgeo(struct block_device *bdev, struct hd_geometry *geo)
return -ENOTTY;
}
-static int blktrans_ioctl(struct inode *inode, struct file *file,
+static int blktrans_ioctl(struct block_device *bdev, fmode_t mode,
unsigned int cmd, unsigned long arg)
{
- struct mtd_blktrans_dev *dev = inode->i_bdev->bd_disk->private_data;
+ struct mtd_blktrans_dev *dev = bdev->bd_disk->private_data;
struct mtd_blktrans_ops *tr = dev->tr;
switch (cmd) {
@@ -213,9 +207,9 @@ static int blktrans_ioctl(struct inode *inode, struct file *file,
static struct block_device_operations mtd_blktrans_ops = {
.owner = THIS_MODULE,
- .__open = blktrans_open,
- .__release = blktrans_release,
- .__ioctl = blktrans_ioctl,
+ .open = blktrans_open,
+ .release = blktrans_release,
+ .locked_ioctl = blktrans_ioctl,
.getgeo = blktrans_getgeo,
};