@@ -452,40 +452,34 @@ static ide_driver_t idescsi_driver = {
452452#endif
453453};
454454
455- static int idescsi_ide_open (struct inode * inode , struct file * filp )
455+ static int idescsi_ide_open (struct block_device * bdev , fmode_t mode )
456456{
457- struct gendisk * disk = inode -> i_bdev -> bd_disk ;
458- struct ide_scsi_obj * scsi ;
457+ struct ide_scsi_obj * scsi = ide_scsi_get (bdev -> bd_disk );
459458
460- if (!( scsi = ide_scsi_get ( disk )) )
459+ if (!scsi )
461460 return - ENXIO ;
462461
463462 return 0 ;
464463}
465464
466- static int idescsi_ide_release (struct inode * inode , struct file * filp )
465+ static int idescsi_ide_release (struct gendisk * disk , fmode_t mode )
467466{
468- struct gendisk * disk = inode -> i_bdev -> bd_disk ;
469- struct ide_scsi_obj * scsi = ide_scsi_g (disk );
470-
471- ide_scsi_put (scsi );
472-
467+ ide_scsi_put (ide_scsi_g (disk ));
473468 return 0 ;
474469}
475470
476- static int idescsi_ide_ioctl (struct inode * inode , struct file * file ,
471+ static int idescsi_ide_ioctl (struct block_device * bdev , fmode_t mode ,
477472 unsigned int cmd , unsigned long arg )
478473{
479- struct block_device * bdev = inode -> i_bdev ;
480474 struct ide_scsi_obj * scsi = ide_scsi_g (bdev -> bd_disk );
481475 return generic_ide_ioctl (scsi -> drive , bdev , cmd , arg );
482476}
483477
484478static struct block_device_operations idescsi_ops = {
485479 .owner = THIS_MODULE ,
486- .__open = idescsi_ide_open ,
487- .__release = idescsi_ide_release ,
488- .__ioctl = idescsi_ide_ioctl ,
480+ .open = idescsi_ide_open ,
481+ .release = idescsi_ide_release ,
482+ .locked_ioctl = idescsi_ide_ioctl ,
489483};
490484
491485static int idescsi_slave_configure (struct scsi_device * sdp )
0 commit comments