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

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

[PATCH] switch ide-tape



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent b2f21e05
Loading
Loading
Loading
Loading
+7 −12
Original line number Diff line number Diff line
@@ -2340,32 +2340,27 @@ static const struct file_operations idetape_fops = {
	.release	= idetape_chrdev_release,
};

static int idetape_open(struct inode *inode, struct file *filp)
static int idetape_open(struct block_device *bdev, fmode_t mode)
{
	struct gendisk *disk = inode->i_bdev->bd_disk;
	struct ide_tape_obj *tape;
	struct ide_tape_obj *tape = ide_tape_get(bdev->bd_disk);

	tape = ide_tape_get(disk);
	if (!tape)
		return -ENXIO;

	return 0;
}

static int idetape_release(struct inode *inode, struct file *filp)
static int idetape_release(struct gendisk *disk, fmode_t mode)
{
	struct gendisk *disk = inode->i_bdev->bd_disk;
	struct ide_tape_obj *tape = ide_drv_g(disk, ide_tape_obj);

	ide_tape_put(tape);

	return 0;
}

static int idetape_ioctl(struct inode *inode, struct file *file,
static int idetape_ioctl(struct block_device *bdev, fmode_t mode,
			unsigned int cmd, unsigned long arg)
{
	struct block_device *bdev = inode->i_bdev;
	struct ide_tape_obj *tape = ide_drv_g(bdev->bd_disk, ide_tape_obj);
	ide_drive_t *drive = tape->drive;
	int err = generic_ide_ioctl(drive, bdev, cmd, arg);
@@ -2376,9 +2371,9 @@ static int idetape_ioctl(struct inode *inode, struct file *file,

static struct block_device_operations idetape_block_ops = {
	.owner		= THIS_MODULE,
	.__open		= idetape_open,
	.__release	= idetape_release,
	.__ioctl		= idetape_ioctl,
	.open		= idetape_open,
	.release	= idetape_release,
	.locked_ioctl	= idetape_ioctl,
};

static int ide_tape_probe(ide_drive_t *drive)