Commit a4600f81 authored by Al Viro's avatar Al Viro

[PATCH] switch ide-tape

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent b2f21e05
...@@ -2340,32 +2340,27 @@ static const struct file_operations idetape_fops = { ...@@ -2340,32 +2340,27 @@ static const struct file_operations idetape_fops = {
.release = idetape_chrdev_release, .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 = ide_tape_get(bdev->bd_disk);
struct ide_tape_obj *tape;
tape = ide_tape_get(disk);
if (!tape) if (!tape)
return -ENXIO; return -ENXIO;
return 0; 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); struct ide_tape_obj *tape = ide_drv_g(disk, ide_tape_obj);
ide_tape_put(tape); ide_tape_put(tape);
return 0; 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) 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); struct ide_tape_obj *tape = ide_drv_g(bdev->bd_disk, ide_tape_obj);
ide_drive_t *drive = tape->drive; ide_drive_t *drive = tape->drive;
int err = generic_ide_ioctl(drive, bdev, cmd, arg); int err = generic_ide_ioctl(drive, bdev, cmd, arg);
...@@ -2376,9 +2371,9 @@ static int idetape_ioctl(struct inode *inode, struct file *file, ...@@ -2376,9 +2371,9 @@ static int idetape_ioctl(struct inode *inode, struct file *file,
static struct block_device_operations idetape_block_ops = { static struct block_device_operations idetape_block_ops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.__open = idetape_open, .open = idetape_open,
.__release = idetape_release, .release = idetape_release,
.__ioctl = idetape_ioctl, .locked_ioctl = idetape_ioctl,
}; };
static int ide_tape_probe(ide_drive_t *drive) static int ide_tape_probe(ide_drive_t *drive)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment