ide_tape: kill off use of the ->ioctl operation
authorAlan Cox <alan@linux.intel.com>
Mon, 4 Jan 2010 06:24:00 +0000 (06:24 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 12 Jan 2010 09:56:54 +0000 (01:56 -0800)
Ready to get everything using unlocked_ioctl()

For ide_tape we just push down as this is legacy code anyway

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/ide/ide-tape.c

index 6a0e625..b072328 100644 (file)
@@ -1365,7 +1365,7 @@ static int idetape_mtioctop(ide_drive_t *drive, short mt_op, int mt_count)
  * supported here, and not in the corresponding block interface. Our own
  * ide-tape ioctls are supported on both interfaces.
  */
-static int idetape_chrdev_ioctl(struct inode *inode, struct file *file,
+static long do_idetape_chrdev_ioctl(struct file *file,
                                unsigned int cmd, unsigned long arg)
 {
        struct ide_tape_obj *tape = file->private_data;
@@ -1420,6 +1420,16 @@ static int idetape_chrdev_ioctl(struct inode *inode, struct file *file,
        }
 }
 
+static long idetape_chrdev_ioctl(struct file *file,
+                               unsigned int cmd, unsigned long arg)
+{
+       long ret;
+       lock_kernel();
+       ret = do_idetape_chrdev_ioctl(file, cmd, arg);
+       unlock_kernel();
+       return ret;
+}
+
 /*
  * Do a mode sense page 0 with block descriptor and if it succeeds set the tape
  * block size with the reported value.
@@ -1888,7 +1898,7 @@ static const struct file_operations idetape_fops = {
        .owner          = THIS_MODULE,
        .read           = idetape_chrdev_read,
        .write          = idetape_chrdev_write,
-       .ioctl          = idetape_chrdev_ioctl,
+       .unlocked_ioctl = idetape_chrdev_ioctl,
        .open           = idetape_chrdev_open,
        .release        = idetape_chrdev_release,
 };