diff options
author | Cornelia Huck <cohuck@de.ibm.com> | 2006-01-06 03:19:21 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-06 11:33:51 -0500 |
commit | a8237fc4108060402d904bea5e1062e22e731969 (patch) | |
tree | fc19e33ea8bbe664c33fba6c78b34e497f2cc478 /drivers/s390/cio/device_fsm.c | |
parent | 8129ee164267dc030b8e1d541ee3643c0b9f2fa1 (diff) |
[PATCH] s390: introduce struct subchannel_id
This patch introduces a struct subchannel_id containing the subchannel number
(formerly referred to as "irq") and switches code formerly relying on the
subchannel number over to it.
While we're touching inline assemblies anyway, make sure they have correct
memory constraints.
Signed-off-by: Cornelia Huck <cohuck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/s390/cio/device_fsm.c')
-rw-r--r-- | drivers/s390/cio/device_fsm.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/s390/cio/device_fsm.c b/drivers/s390/cio/device_fsm.c index c1c89f4fd4e3..9efeae75ad28 100644 --- a/drivers/s390/cio/device_fsm.c +++ b/drivers/s390/cio/device_fsm.c | |||
@@ -133,7 +133,7 @@ ccw_device_cancel_halt_clear(struct ccw_device *cdev) | |||
133 | int ret; | 133 | int ret; |
134 | 134 | ||
135 | sch = to_subchannel(cdev->dev.parent); | 135 | sch = to_subchannel(cdev->dev.parent); |
136 | ret = stsch(sch->irq, &sch->schib); | 136 | ret = stsch(sch->schid, &sch->schib); |
137 | if (ret || !sch->schib.pmcw.dnv) | 137 | if (ret || !sch->schib.pmcw.dnv) |
138 | return -ENODEV; | 138 | return -ENODEV; |
139 | if (!sch->schib.pmcw.ena || sch->schib.scsw.actl == 0) | 139 | if (!sch->schib.pmcw.ena || sch->schib.scsw.actl == 0) |
@@ -231,7 +231,7 @@ ccw_device_recog_done(struct ccw_device *cdev, int state) | |||
231 | * through ssch() and the path information is up to date. | 231 | * through ssch() and the path information is up to date. |
232 | */ | 232 | */ |
233 | old_lpm = sch->lpm; | 233 | old_lpm = sch->lpm; |
234 | stsch(sch->irq, &sch->schib); | 234 | stsch(sch->schid, &sch->schib); |
235 | sch->lpm = sch->schib.pmcw.pim & | 235 | sch->lpm = sch->schib.pmcw.pim & |
236 | sch->schib.pmcw.pam & | 236 | sch->schib.pmcw.pam & |
237 | sch->schib.pmcw.pom & | 237 | sch->schib.pmcw.pom & |
@@ -258,7 +258,7 @@ ccw_device_recog_done(struct ccw_device *cdev, int state) | |||
258 | case DEV_STATE_NOT_OPER: | 258 | case DEV_STATE_NOT_OPER: |
259 | CIO_DEBUG(KERN_WARNING, 2, | 259 | CIO_DEBUG(KERN_WARNING, 2, |
260 | "SenseID : unknown device %04x on subchannel %04x\n", | 260 | "SenseID : unknown device %04x on subchannel %04x\n", |
261 | cdev->private->devno, sch->irq); | 261 | cdev->private->devno, sch->schid.sch_no); |
262 | break; | 262 | break; |
263 | case DEV_STATE_OFFLINE: | 263 | case DEV_STATE_OFFLINE: |
264 | if (cdev->private->state == DEV_STATE_DISCONNECTED_SENSE_ID) { | 264 | if (cdev->private->state == DEV_STATE_DISCONNECTED_SENSE_ID) { |
@@ -291,7 +291,7 @@ ccw_device_recog_done(struct ccw_device *cdev, int state) | |||
291 | case DEV_STATE_BOXED: | 291 | case DEV_STATE_BOXED: |
292 | CIO_DEBUG(KERN_WARNING, 2, | 292 | CIO_DEBUG(KERN_WARNING, 2, |
293 | "SenseID : boxed device %04x on subchannel %04x\n", | 293 | "SenseID : boxed device %04x on subchannel %04x\n", |
294 | cdev->private->devno, sch->irq); | 294 | cdev->private->devno, sch->schid.sch_no); |
295 | break; | 295 | break; |
296 | } | 296 | } |
297 | cdev->private->state = state; | 297 | cdev->private->state = state; |
@@ -359,7 +359,7 @@ ccw_device_done(struct ccw_device *cdev, int state) | |||
359 | if (state == DEV_STATE_BOXED) | 359 | if (state == DEV_STATE_BOXED) |
360 | CIO_DEBUG(KERN_WARNING, 2, | 360 | CIO_DEBUG(KERN_WARNING, 2, |
361 | "Boxed device %04x on subchannel %04x\n", | 361 | "Boxed device %04x on subchannel %04x\n", |
362 | cdev->private->devno, sch->irq); | 362 | cdev->private->devno, sch->schid.sch_no); |
363 | 363 | ||
364 | if (cdev->private->flags.donotify) { | 364 | if (cdev->private->flags.donotify) { |
365 | cdev->private->flags.donotify = 0; | 365 | cdev->private->flags.donotify = 0; |
@@ -592,7 +592,7 @@ ccw_device_offline(struct ccw_device *cdev) | |||
592 | struct subchannel *sch; | 592 | struct subchannel *sch; |
593 | 593 | ||
594 | sch = to_subchannel(cdev->dev.parent); | 594 | sch = to_subchannel(cdev->dev.parent); |
595 | if (stsch(sch->irq, &sch->schib) || !sch->schib.pmcw.dnv) | 595 | if (stsch(sch->schid, &sch->schib) || !sch->schib.pmcw.dnv) |
596 | return -ENODEV; | 596 | return -ENODEV; |
597 | if (cdev->private->state != DEV_STATE_ONLINE) { | 597 | if (cdev->private->state != DEV_STATE_ONLINE) { |
598 | if (sch->schib.scsw.actl != 0) | 598 | if (sch->schib.scsw.actl != 0) |
@@ -711,7 +711,7 @@ ccw_device_online_verify(struct ccw_device *cdev, enum dev_event dev_event) | |||
711 | * Since we might not just be coming from an interrupt from the | 711 | * Since we might not just be coming from an interrupt from the |
712 | * subchannel we have to update the schib. | 712 | * subchannel we have to update the schib. |
713 | */ | 713 | */ |
714 | stsch(sch->irq, &sch->schib); | 714 | stsch(sch->schid, &sch->schib); |
715 | 715 | ||
716 | if (sch->schib.scsw.actl != 0 || | 716 | if (sch->schib.scsw.actl != 0 || |
717 | (cdev->private->irb.scsw.stctl & SCSW_STCTL_STATUS_PEND)) { | 717 | (cdev->private->irb.scsw.stctl & SCSW_STCTL_STATUS_PEND)) { |
@@ -923,7 +923,7 @@ ccw_device_wait4io_irq(struct ccw_device *cdev, enum dev_event dev_event) | |||
923 | 923 | ||
924 | /* Iff device is idle, reset timeout. */ | 924 | /* Iff device is idle, reset timeout. */ |
925 | sch = to_subchannel(cdev->dev.parent); | 925 | sch = to_subchannel(cdev->dev.parent); |
926 | if (!stsch(sch->irq, &sch->schib)) | 926 | if (!stsch(sch->schid, &sch->schib)) |
927 | if (sch->schib.scsw.actl == 0) | 927 | if (sch->schib.scsw.actl == 0) |
928 | ccw_device_set_timeout(cdev, 0); | 928 | ccw_device_set_timeout(cdev, 0); |
929 | /* Call the handler. */ | 929 | /* Call the handler. */ |
@@ -1035,7 +1035,7 @@ device_trigger_reprobe(struct subchannel *sch) | |||
1035 | return; | 1035 | return; |
1036 | 1036 | ||
1037 | /* Update some values. */ | 1037 | /* Update some values. */ |
1038 | if (stsch(sch->irq, &sch->schib)) | 1038 | if (stsch(sch->schid, &sch->schib)) |
1039 | return; | 1039 | return; |
1040 | 1040 | ||
1041 | /* | 1041 | /* |