1
0
Fork 0

[PATCH] switch mtd_blkdevs

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
hifive-unleashed-5.1
Al Viro 2008-03-02 10:35:06 -05:00
parent a5a1561f88
commit af0e2a0a87
1 changed files with 11 additions and 17 deletions

View 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,
};