diff options
-rw-r--r-- | drivers/ide/ide-tape.c | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c index c5df53c4838c..a2d470eb2b55 100644 --- a/drivers/ide/ide-tape.c +++ b/drivers/ide/ide-tape.c | |||
@@ -2340,32 +2340,27 @@ static const struct file_operations idetape_fops = { | |||
2340 | .release = idetape_chrdev_release, | 2340 | .release = idetape_chrdev_release, |
2341 | }; | 2341 | }; |
2342 | 2342 | ||
2343 | static int idetape_open(struct inode *inode, struct file *filp) | 2343 | static int idetape_open(struct block_device *bdev, fmode_t mode) |
2344 | { | 2344 | { |
2345 | struct gendisk *disk = inode->i_bdev->bd_disk; | 2345 | struct ide_tape_obj *tape = ide_tape_get(bdev->bd_disk); |
2346 | struct ide_tape_obj *tape; | ||
2347 | 2346 | ||
2348 | tape = ide_tape_get(disk); | ||
2349 | if (!tape) | 2347 | if (!tape) |
2350 | return -ENXIO; | 2348 | return -ENXIO; |
2351 | 2349 | ||
2352 | return 0; | 2350 | return 0; |
2353 | } | 2351 | } |
2354 | 2352 | ||
2355 | static int idetape_release(struct inode *inode, struct file *filp) | 2353 | static int idetape_release(struct gendisk *disk, fmode_t mode) |
2356 | { | 2354 | { |
2357 | struct gendisk *disk = inode->i_bdev->bd_disk; | ||
2358 | struct ide_tape_obj *tape = ide_drv_g(disk, ide_tape_obj); | 2355 | struct ide_tape_obj *tape = ide_drv_g(disk, ide_tape_obj); |
2359 | 2356 | ||
2360 | ide_tape_put(tape); | 2357 | ide_tape_put(tape); |
2361 | |||
2362 | return 0; | 2358 | return 0; |
2363 | } | 2359 | } |
2364 | 2360 | ||
2365 | static int idetape_ioctl(struct inode *inode, struct file *file, | 2361 | static int idetape_ioctl(struct block_device *bdev, fmode_t mode, |
2366 | unsigned int cmd, unsigned long arg) | 2362 | unsigned int cmd, unsigned long arg) |
2367 | { | 2363 | { |
2368 | struct block_device *bdev = inode->i_bdev; | ||
2369 | struct ide_tape_obj *tape = ide_drv_g(bdev->bd_disk, ide_tape_obj); | 2364 | struct ide_tape_obj *tape = ide_drv_g(bdev->bd_disk, ide_tape_obj); |
2370 | ide_drive_t *drive = tape->drive; | 2365 | ide_drive_t *drive = tape->drive; |
2371 | int err = generic_ide_ioctl(drive, bdev, cmd, arg); | 2366 | int err = generic_ide_ioctl(drive, bdev, cmd, arg); |
@@ -2376,9 +2371,9 @@ static int idetape_ioctl(struct inode *inode, struct file *file, | |||
2376 | 2371 | ||
2377 | static struct block_device_operations idetape_block_ops = { | 2372 | static struct block_device_operations idetape_block_ops = { |
2378 | .owner = THIS_MODULE, | 2373 | .owner = THIS_MODULE, |
2379 | .__open = idetape_open, | 2374 | .open = idetape_open, |
2380 | .__release = idetape_release, | 2375 | .release = idetape_release, |
2381 | .__ioctl = idetape_ioctl, | 2376 | .locked_ioctl = idetape_ioctl, |
2382 | }; | 2377 | }; |
2383 | 2378 | ||
2384 | static int ide_tape_probe(ide_drive_t *drive) | 2379 | static int ide_tape_probe(ide_drive_t *drive) |