[PATCH] switch ide-scsi
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 2 Mar 2008 15:40:39 +0000 (10:40 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Tue, 21 Oct 2008 11:48:46 +0000 (07:48 -0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
drivers/scsi/ide-scsi.c

index 9069afbad9d34c1e15110a759f5265c0c7e7fc68..2370fd82ebfe365fa477634d8c55d259dd39ab43 100644 (file)
@@ -452,40 +452,34 @@ static ide_driver_t idescsi_driver = {
 #endif
 };
 
-static int idescsi_ide_open(struct inode *inode, struct file *filp)
+static int idescsi_ide_open(struct block_device *bdev, fmode_t mode)
 {
-       struct gendisk *disk = inode->i_bdev->bd_disk;
-       struct ide_scsi_obj *scsi;
+       struct ide_scsi_obj *scsi = ide_scsi_get(bdev->bd_disk);
 
-       if (!(scsi = ide_scsi_get(disk)))
+       if (!scsi)
                return -ENXIO;
 
        return 0;
 }
 
-static int idescsi_ide_release(struct inode *inode, struct file *filp)
+static int idescsi_ide_release(struct gendisk *disk, fmode_t mode)
 {
-       struct gendisk *disk = inode->i_bdev->bd_disk;
-       struct ide_scsi_obj *scsi = ide_scsi_g(disk);
-
-       ide_scsi_put(scsi);
-
+       ide_scsi_put(ide_scsi_g(disk));
        return 0;
 }
 
-static int idescsi_ide_ioctl(struct inode *inode, struct file *file,
+static int idescsi_ide_ioctl(struct block_device *bdev, fmode_t mode,
                        unsigned int cmd, unsigned long arg)
 {
-       struct block_device *bdev = inode->i_bdev;
        struct ide_scsi_obj *scsi = ide_scsi_g(bdev->bd_disk);
        return generic_ide_ioctl(scsi->drive, bdev, cmd, arg);
 }
 
 static struct block_device_operations idescsi_ops = {
        .owner          = THIS_MODULE,
-       .__open         = idescsi_ide_open,
-       .__release      = idescsi_ide_release,
-       .__ioctl                = idescsi_ide_ioctl,
+       .open           = idescsi_ide_open,
+       .release        = idescsi_ide_release,
+       .locked_ioctl   = idescsi_ide_ioctl,
 };
 
 static int idescsi_slave_configure(struct scsi_device * sdp)