diff options
-rw-r--r-- | arch/s390/include/asm/ccwdev.h | 3 | ||||
-rw-r--r-- | drivers/s390/block/dasd_ioctl.c | 11 | ||||
-rw-r--r-- | drivers/s390/cio/device.c | 11 | ||||
-rw-r--r-- | drivers/s390/cio/device.h | 2 | ||||
-rw-r--r-- | drivers/s390/cio/device_ops.c | 9 | ||||
-rw-r--r-- | drivers/s390/cio/qdio_setup.c | 3 |
6 files changed, 8 insertions, 31 deletions
diff --git a/arch/s390/include/asm/ccwdev.h b/arch/s390/include/asm/ccwdev.h index 9ad79f7f1acc..6d1f3573f0df 100644 --- a/arch/s390/include/asm/ccwdev.h +++ b/arch/s390/include/asm/ccwdev.h | |||
@@ -226,9 +226,6 @@ extern int ccw_device_force_console(void); | |||
226 | 226 | ||
227 | int ccw_device_siosl(struct ccw_device *); | 227 | int ccw_device_siosl(struct ccw_device *); |
228 | 228 | ||
229 | // FIXME: these have to go | ||
230 | extern int _ccw_device_get_subchannel_number(struct ccw_device *); | ||
231 | |||
232 | extern void ccw_device_get_schid(struct ccw_device *, struct subchannel_id *); | 229 | extern void ccw_device_get_schid(struct ccw_device *, struct subchannel_id *); |
233 | 230 | ||
234 | extern void *ccw_device_get_chp_desc(struct ccw_device *, int); | 231 | extern void *ccw_device_get_chp_desc(struct ccw_device *, int); |
diff --git a/drivers/s390/block/dasd_ioctl.c b/drivers/s390/block/dasd_ioctl.c index 8252f37d04ed..03c0e0444553 100644 --- a/drivers/s390/block/dasd_ioctl.c +++ b/drivers/s390/block/dasd_ioctl.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/slab.h> | 19 | #include <linux/slab.h> |
20 | #include <asm/compat.h> | 20 | #include <asm/compat.h> |
21 | #include <asm/ccwdev.h> | 21 | #include <asm/ccwdev.h> |
22 | #include <asm/schid.h> | ||
22 | #include <asm/cmb.h> | 23 | #include <asm/cmb.h> |
23 | #include <asm/uaccess.h> | 24 | #include <asm/uaccess.h> |
24 | 25 | ||
@@ -308,11 +309,12 @@ static int dasd_ioctl_information(struct dasd_block *block, | |||
308 | unsigned int cmd, void __user *argp) | 309 | unsigned int cmd, void __user *argp) |
309 | { | 310 | { |
310 | struct dasd_information2_t *dasd_info; | 311 | struct dasd_information2_t *dasd_info; |
311 | unsigned long flags; | 312 | struct subchannel_id sch_id; |
312 | int rc; | 313 | struct ccw_dev_id dev_id; |
313 | struct dasd_device *base; | 314 | struct dasd_device *base; |
314 | struct ccw_device *cdev; | 315 | struct ccw_device *cdev; |
315 | struct ccw_dev_id dev_id; | 316 | unsigned long flags; |
317 | int rc; | ||
316 | 318 | ||
317 | base = block->base; | 319 | base = block->base; |
318 | if (!base->discipline || !base->discipline->fill_info) | 320 | if (!base->discipline || !base->discipline->fill_info) |
@@ -330,9 +332,10 @@ static int dasd_ioctl_information(struct dasd_block *block, | |||
330 | 332 | ||
331 | cdev = base->cdev; | 333 | cdev = base->cdev; |
332 | ccw_device_get_id(cdev, &dev_id); | 334 | ccw_device_get_id(cdev, &dev_id); |
335 | ccw_device_get_schid(cdev, &sch_id); | ||
333 | 336 | ||
334 | dasd_info->devno = dev_id.devno; | 337 | dasd_info->devno = dev_id.devno; |
335 | dasd_info->schid = _ccw_device_get_subchannel_number(base->cdev); | 338 | dasd_info->schid = sch_id.sch_no; |
336 | dasd_info->cu_type = cdev->id.cu_type; | 339 | dasd_info->cu_type = cdev->id.cu_type; |
337 | dasd_info->cu_model = cdev->id.cu_model; | 340 | dasd_info->cu_model = cdev->id.cu_model; |
338 | dasd_info->dev_type = cdev->id.dev_type; | 341 | dasd_info->dev_type = cdev->id.dev_type; |
diff --git a/drivers/s390/cio/device.c b/drivers/s390/cio/device.c index fd3143c291c6..6995cff44636 100644 --- a/drivers/s390/cio/device.c +++ b/drivers/s390/cio/device.c | |||
@@ -2036,16 +2036,6 @@ void ccw_driver_unregister(struct ccw_driver *cdriver) | |||
2036 | driver_unregister(&cdriver->driver); | 2036 | driver_unregister(&cdriver->driver); |
2037 | } | 2037 | } |
2038 | 2038 | ||
2039 | /* Helper func for qdio. */ | ||
2040 | struct subchannel_id | ||
2041 | ccw_device_get_subchannel_id(struct ccw_device *cdev) | ||
2042 | { | ||
2043 | struct subchannel *sch; | ||
2044 | |||
2045 | sch = to_subchannel(cdev->dev.parent); | ||
2046 | return sch->schid; | ||
2047 | } | ||
2048 | |||
2049 | static void ccw_device_todo(struct work_struct *work) | 2039 | static void ccw_device_todo(struct work_struct *work) |
2050 | { | 2040 | { |
2051 | struct ccw_device_private *priv; | 2041 | struct ccw_device_private *priv; |
@@ -2138,4 +2128,3 @@ EXPORT_SYMBOL(ccw_device_set_offline); | |||
2138 | EXPORT_SYMBOL(ccw_driver_register); | 2128 | EXPORT_SYMBOL(ccw_driver_register); |
2139 | EXPORT_SYMBOL(ccw_driver_unregister); | 2129 | EXPORT_SYMBOL(ccw_driver_unregister); |
2140 | EXPORT_SYMBOL(get_ccwdev_by_busid); | 2130 | EXPORT_SYMBOL(get_ccwdev_by_busid); |
2141 | EXPORT_SYMBOL_GPL(ccw_device_get_subchannel_id); | ||
diff --git a/drivers/s390/cio/device.h b/drivers/s390/cio/device.h index 6bace6942396..2e575cff9845 100644 --- a/drivers/s390/cio/device.h +++ b/drivers/s390/cio/device.h | |||
@@ -142,9 +142,7 @@ int ccw_device_notify(struct ccw_device *, int); | |||
142 | void ccw_device_set_disconnected(struct ccw_device *cdev); | 142 | void ccw_device_set_disconnected(struct ccw_device *cdev); |
143 | void ccw_device_set_notoper(struct ccw_device *cdev); | 143 | void ccw_device_set_notoper(struct ccw_device *cdev); |
144 | 144 | ||
145 | /* qdio needs this. */ | ||
146 | void ccw_device_set_timeout(struct ccw_device *, int); | 145 | void ccw_device_set_timeout(struct ccw_device *, int); |
147 | extern struct subchannel_id ccw_device_get_subchannel_id(struct ccw_device *); | ||
148 | 146 | ||
149 | /* Channel measurement facility related */ | 147 | /* Channel measurement facility related */ |
150 | void retry_set_schib(struct ccw_device *cdev); | 148 | void retry_set_schib(struct ccw_device *cdev); |
diff --git a/drivers/s390/cio/device_ops.c b/drivers/s390/cio/device_ops.c index 2ad832f8e340..c77b6e06bf64 100644 --- a/drivers/s390/cio/device_ops.c +++ b/drivers/s390/cio/device_ops.c | |||
@@ -755,14 +755,6 @@ int ccw_device_tm_intrg(struct ccw_device *cdev) | |||
755 | } | 755 | } |
756 | EXPORT_SYMBOL(ccw_device_tm_intrg); | 756 | EXPORT_SYMBOL(ccw_device_tm_intrg); |
757 | 757 | ||
758 | // FIXME: these have to go: | ||
759 | |||
760 | int | ||
761 | _ccw_device_get_subchannel_number(struct ccw_device *cdev) | ||
762 | { | ||
763 | return cdev->private->schid.sch_no; | ||
764 | } | ||
765 | |||
766 | /** | 758 | /** |
767 | * ccw_device_get_schid - obtain a subchannel id | 759 | * ccw_device_get_schid - obtain a subchannel id |
768 | * @cdev: device to obtain the id for | 760 | * @cdev: device to obtain the id for |
@@ -789,5 +781,4 @@ EXPORT_SYMBOL(ccw_device_start_timeout_key); | |||
789 | EXPORT_SYMBOL(ccw_device_start_key); | 781 | EXPORT_SYMBOL(ccw_device_start_key); |
790 | EXPORT_SYMBOL(ccw_device_get_ciw); | 782 | EXPORT_SYMBOL(ccw_device_get_ciw); |
791 | EXPORT_SYMBOL(ccw_device_get_path_mask); | 783 | EXPORT_SYMBOL(ccw_device_get_path_mask); |
792 | EXPORT_SYMBOL(_ccw_device_get_subchannel_number); | ||
793 | EXPORT_SYMBOL_GPL(ccw_device_get_chp_desc); | 784 | EXPORT_SYMBOL_GPL(ccw_device_get_chp_desc); |
diff --git a/drivers/s390/cio/qdio_setup.c b/drivers/s390/cio/qdio_setup.c index 6559564ebe36..31ddb966e2c0 100644 --- a/drivers/s390/cio/qdio_setup.c +++ b/drivers/s390/cio/qdio_setup.c | |||
@@ -432,9 +432,8 @@ int qdio_setup_irq(struct qdio_initialize *init_data) | |||
432 | irq_ptr->int_parm = init_data->int_parm; | 432 | irq_ptr->int_parm = init_data->int_parm; |
433 | irq_ptr->nr_input_qs = init_data->no_input_qs; | 433 | irq_ptr->nr_input_qs = init_data->no_input_qs; |
434 | irq_ptr->nr_output_qs = init_data->no_output_qs; | 434 | irq_ptr->nr_output_qs = init_data->no_output_qs; |
435 | |||
436 | irq_ptr->schid = ccw_device_get_subchannel_id(init_data->cdev); | ||
437 | irq_ptr->cdev = init_data->cdev; | 435 | irq_ptr->cdev = init_data->cdev; |
436 | ccw_device_get_schid(irq_ptr->cdev, &irq_ptr->schid); | ||
438 | setup_queues(irq_ptr, init_data); | 437 | setup_queues(irq_ptr, init_data); |
439 | 438 | ||
440 | setup_qib(irq_ptr, init_data); | 439 | setup_qib(irq_ptr, init_data); |