[PATCH] switch mtd_blkdevs
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 2 Mar 2008 15:35:06 +0000 (10:35 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Tue, 21 Oct 2008 11:48:38 +0000 (07:48 -0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
drivers/mtd/mtd_blkdevs.c

index b00d07c537537961c7ac7f06da0f0d39a3216d20..1409f01406f6e7ebc356cf906ab4880f7719b1c1 100644 (file)
@@ -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,
 };