As a result disk->private_data can be used by device drivers now.

diff -Nru a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c
--- a/drivers/ide/ide-cd.c      2005-01-21 22:30:19 +01:00
+++ b/drivers/ide/ide-cd.c      2005-01-21 22:30:19 +01:00
@@ -3317,7 +3317,7 @@
 {
        struct block_device *bdev = inode->i_bdev;
        ide_drive_t *drive = bdev->bd_disk->private_data;
-       int err = generic_ide_ioctl(file, bdev, cmd, arg);
+       int err = generic_ide_ioctl(drive, file, bdev, cmd, arg);
        if (err == -EINVAL) {
                struct cdrom_info *info = drive->driver_data;
                err = cdrom_ioctl(file, &info->devinfo, inode, cmd, arg);
diff -Nru a/drivers/ide/ide-disk.c b/drivers/ide/ide-disk.c
--- a/drivers/ide/ide-disk.c    2005-01-21 22:30:19 +01:00
+++ b/drivers/ide/ide-disk.c    2005-01-21 22:30:19 +01:00
@@ -1048,7 +1048,8 @@
                        unsigned int cmd, unsigned long arg)
 {
        struct block_device *bdev = inode->i_bdev;
-       return generic_ide_ioctl(file, bdev, cmd, arg);
+       ide_drive_t *drive = bdev->bd_disk->private_data;
+       return generic_ide_ioctl(drive, file, bdev, cmd, arg);
 }

 static int idedisk_media_changed(struct gendisk *disk)
diff -Nru a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c
--- a/drivers/ide/ide-floppy.c  2005-01-21 22:30:19 +01:00
+++ b/drivers/ide/ide-floppy.c  2005-01-21 22:30:19 +01:00
@@ -1970,7 +1970,7 @@
        ide_drive_t *drive = bdev->bd_disk->private_data;
        idefloppy_floppy_t *floppy = drive->driver_data;
        void __user *argp = (void __user *)arg;
-       int err = generic_ide_ioctl(file, bdev, cmd, arg);
+       int err = generic_ide_ioctl(drive, file, bdev, cmd, arg);
        int prevent = (arg) ? 1 : 0;
        idefloppy_pc_t pc;
        if (err != -EINVAL)
diff -Nru a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
--- a/drivers/ide/ide-tape.c    2005-01-21 22:30:19 +01:00
+++ b/drivers/ide/ide-tape.c    2005-01-21 22:30:19 +01:00
@@ -4724,7 +4724,7 @@
 {
        struct block_device *bdev = inode->i_bdev;
        ide_drive_t *drive = bdev->bd_disk->private_data;
-       int err = generic_ide_ioctl(file, bdev, cmd, arg);
+       int err = generic_ide_ioctl(drive, file, bdev, cmd, arg);
        if (err == -EINVAL)
                err = idetape_blkdev_ioctl(drive, cmd, arg);
        return err;
diff -Nru a/drivers/ide/ide.c b/drivers/ide/ide.c
--- a/drivers/ide/ide.c 2005-01-21 22:30:19 +01:00
+++ b/drivers/ide/ide.c 2005-01-21 22:30:19 +01:00
@@ -1410,10 +1410,9 @@
        return ide_do_drive_cmd(drive, &rq, ide_head_wait);
 }

-int generic_ide_ioctl(struct file *file, struct block_device *bdev,
+int generic_ide_ioctl(ide_drive_t *drive, struct file *file, struct 
block_device *bdev,
                        unsigned int cmd, unsigned long arg)
 {
-       ide_drive_t *drive = bdev->bd_disk->private_data;
        ide_settings_t *setting;
        int err = 0;
        void __user *p = (void __user *)arg;
diff -Nru a/drivers/scsi/ide-scsi.c b/drivers/scsi/ide-scsi.c
--- a/drivers/scsi/ide-scsi.c   2005-01-21 22:30:19 +01:00
+++ b/drivers/scsi/ide-scsi.c   2005-01-21 22:30:19 +01:00
@@ -755,7 +755,8 @@
                        unsigned int cmd, unsigned long arg)
 {
        struct block_device *bdev = inode->i_bdev;
-       return generic_ide_ioctl(file, bdev, cmd, arg);
+       ide_drive_t *drive = bdev->bd_disk->private_data;
+       return generic_ide_ioctl(drive, file, bdev, cmd, arg);
 }

 static struct block_device_operations idescsi_ops = {
diff -Nru a/include/linux/ide.h b/include/linux/ide.h
--- a/include/linux/ide.h       2005-01-21 22:30:19 +01:00
+++ b/include/linux/ide.h       2005-01-21 22:30:19 +01:00
@@ -1111,7 +1111,7 @@

 #define DRIVER(drive)          ((drive)->driver)

-extern int generic_ide_ioctl(struct file *, struct block_device *, unsigned, 
unsigned long);
+int generic_ide_ioctl(ide_drive_t *, struct file *, struct block_device *, 
unsigned, unsigned long);

 /*
  * ide_hwifs[] is the master data structure used to keep track
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to