summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/s390/block/dasd.c5
-rw-r--r--drivers/s390/block/dasd_devmap.c15
-rw-r--r--drivers/s390/block/dasd_int.h1
3 files changed, 6 insertions, 15 deletions
diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c
index e4d97ea6ac7f..15ec8a6aa541 100644
--- a/drivers/s390/block/dasd.c
+++ b/drivers/s390/block/dasd.c
@@ -244,6 +244,7 @@ dasd_alloc_device(dasd_devmap_t *devmap)
kfree(device);
return (dasd_device_t *) gdp;
}
+ gdp->private_data = device;
device->gdp = gdp;
dasd_init_chunklist(&device->ccw_chunks, device->ccw_mem, PAGE_SIZE*2);
@@ -2098,7 +2099,7 @@ dasd_open(struct inode *inp, struct file *filp)
major(inp->i_rdev), minor(inp->i_rdev));
return -EPERM;
}
- devmap = dasd_devmap_from_kdev(inp->i_rdev);
+ devmap = dasd_devmap_from_bdev(inp->i_bdev);
device = (devmap != NULL) ?
dasd_get_device(devmap) : ERR_PTR(-ENODEV);
if (IS_ERR(device)) {
@@ -2134,7 +2135,7 @@ dasd_release(struct inode *inp, struct file *filp)
dasd_devmap_t *devmap;
dasd_device_t *device;
- devmap = dasd_devmap_from_kdev(inp->i_rdev);
+ devmap = dasd_devmap_from_bdev(inp->i_bdev);
device = (devmap != NULL) ?
dasd_get_device(devmap) : ERR_PTR(-ENODEV);
if (IS_ERR(device)) {
diff --git a/drivers/s390/block/dasd_devmap.c b/drivers/s390/block/dasd_devmap.c
index 129fe6615d70..27c3f2416150 100644
--- a/drivers/s390/block/dasd_devmap.c
+++ b/drivers/s390/block/dasd_devmap.c
@@ -430,11 +430,12 @@ dasd_devmap_from_irq(int irq)
}
/*
- * Find the devmap for a device corresponding to a kdev.
+ * Find the devmap for a device corresponding to a block_device.
*/
dasd_devmap_t *
-dasd_devmap_from_kdev(kdev_t kdev)
+dasd_devmap_from_bdev(struct block_device *bdev)
{
+ kdev_t kdev = to_kdev_t(bdev->bd_dev);
int devindex;
/* Find the devindex for kdev. */
@@ -449,15 +450,6 @@ dasd_devmap_from_kdev(kdev_t kdev)
}
/*
- * Find the devmap for a device corresponding to a block_device.
- */
-dasd_devmap_t *
-dasd_devmap_from_bdev(struct block_device *bdev)
-{
- return dasd_devmap_from_kdev(to_kdev_t(bdev->bd_dev));
-}
-
-/*
* Find the device structure for device number devno. If it does not
* exists yet, allocate it. Increase the reference counter in the device
* structure and return a pointer to it.
@@ -535,6 +527,5 @@ dasd_devmap_exit(void)
EXPORT_SYMBOL(dasd_devmap_from_devno);
EXPORT_SYMBOL(dasd_devmap_from_devindex);
EXPORT_SYMBOL(dasd_devmap_from_irq);
-EXPORT_SYMBOL(dasd_devmap_from_kdev);
EXPORT_SYMBOL(dasd_get_device);
EXPORT_SYMBOL(dasd_put_device);
diff --git a/drivers/s390/block/dasd_int.h b/drivers/s390/block/dasd_int.h
index e5dfbcddaf20..f836d3809a10 100644
--- a/drivers/s390/block/dasd_int.h
+++ b/drivers/s390/block/dasd_int.h
@@ -464,7 +464,6 @@ void dasd_devmap_exit(void);
dasd_devmap_t *dasd_devmap_from_devno(int);
dasd_devmap_t *dasd_devmap_from_devindex(int);
dasd_devmap_t *dasd_devmap_from_irq(int);
-dasd_devmap_t *dasd_devmap_from_kdev(kdev_t);
dasd_devmap_t *dasd_devmap_from_bdev(struct block_device *bdev);
dasd_device_t *dasd_get_device(dasd_devmap_t *);
void dasd_put_device(dasd_devmap_t *);