]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/s390/block/dasd_ioctl.c
Merge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6
[linux-2.6-omap-h63xx.git] / drivers / s390 / block / dasd_ioctl.c
index 302bcd0f28be4c4532862915417ba2a5add9ea2d..672eb0a3dd0bd4e5e48a71ce33456ee0ce668dc6 100644 (file)
@@ -9,7 +9,6 @@
  *
  * i/o controls for the dasd driver.
  */
-#include <linux/config.h>
 #include <linux/interrupt.h>
 #include <linux/major.h>
 #include <linux/fs.h>
@@ -256,6 +255,7 @@ dasd_ioctl_information(struct dasd_device *device,
        unsigned long flags;
        int rc;
        struct ccw_device *cdev;
+       struct ccw_dev_id dev_id;
 
        if (!device->discipline->fill_info)
                return -EINVAL;
@@ -271,8 +271,9 @@ dasd_ioctl_information(struct dasd_device *device,
        }
 
        cdev = device->cdev;
+       ccw_device_get_id(cdev, &dev_id);
 
-       dasd_info->devno = _ccw_device_get_device_number(device->cdev);
+       dasd_info->devno = dev_id.devno;
        dasd_info->schid = _ccw_device_get_subchannel_number(device->cdev);
        dasd_info->cu_type = cdev->id.cu_type;
        dasd_info->cu_model = cdev->id.cu_model;
@@ -346,7 +347,7 @@ dasd_ioctl_set_ro(struct block_device *bdev, void __user *argp)
        if (bdev != bdev->bd_contains)
                // ro setting is not allowed for partitions
                return -EINVAL;
-       if (get_user(intval, (int *)argp))
+       if (get_user(intval, (int __user *)argp))
                return -EFAULT;
 
        set_disk_ro(bdev->bd_disk, intval);
@@ -431,7 +432,7 @@ dasd_compat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
        int rval;
 
        lock_kernel();
-       rval = dasd_ioctl(filp->f_dentry->d_inode, filp, cmd, arg);
+       rval = dasd_ioctl(filp->f_path.dentry->d_inode, filp, cmd, arg);
        unlock_kernel();
 
        return (rval == -EINVAL) ? -ENOIOCTLCMD : rval;