Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit af0e2a0a authored by Al Viro's avatar Al Viro
Browse files

[PATCH] switch mtd_blkdevs



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent a5a1561f
Loading
Loading
Loading
Loading
+11 −17
Original line number Diff line number Diff line
@@ -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,
};