aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio/device_pgid.c
diff options
context:
space:
mode:
authorCornelia Huck <cohuck@de.ibm.com>2006-01-06 03:19:21 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-06 11:33:51 -0500
commita8237fc4108060402d904bea5e1062e22e731969 (patch)
treefc19e33ea8bbe664c33fba6c78b34e497f2cc478 /drivers/s390/cio/device_pgid.c
parent8129ee164267dc030b8e1d541ee3643c0b9f2fa1 (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_pgid.c')
-rw-r--r--drivers/s390/cio/device_pgid.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/s390/cio/device_pgid.c b/drivers/s390/cio/device_pgid.c
index 757b2706d5a9..f08e84cc3563 100644
--- a/drivers/s390/cio/device_pgid.c
+++ b/drivers/s390/cio/device_pgid.c
@@ -59,7 +59,7 @@ __ccw_device_sense_pgid_start(struct ccw_device *cdev)
59 CIO_MSG_EVENT(2, "SNID - Device %04x on Subchannel " 59 CIO_MSG_EVENT(2, "SNID - Device %04x on Subchannel "
60 "%04x, lpm %02X, became 'not " 60 "%04x, lpm %02X, became 'not "
61 "operational'\n", 61 "operational'\n",
62 cdev->private->devno, sch->irq, 62 cdev->private->devno, sch->schid.sch_no,
63 cdev->private->imask); 63 cdev->private->imask);
64 64
65 } 65 }
@@ -121,13 +121,14 @@ __ccw_device_check_sense_pgid(struct ccw_device *cdev)
121 if (irb->scsw.cc == 3) { 121 if (irb->scsw.cc == 3) {
122 CIO_MSG_EVENT(2, "SNID - Device %04x on Subchannel " 122 CIO_MSG_EVENT(2, "SNID - Device %04x on Subchannel "
123 "%04x, lpm %02X, became 'not operational'\n", 123 "%04x, lpm %02X, became 'not operational'\n",
124 cdev->private->devno, sch->irq, sch->orb.lpm); 124 cdev->private->devno, sch->schid.sch_no,
125 sch->orb.lpm);
125 return -EACCES; 126 return -EACCES;
126 } 127 }
127 if (cdev->private->pgid.inf.ps.state2 == SNID_STATE2_RESVD_ELSE) { 128 if (cdev->private->pgid.inf.ps.state2 == SNID_STATE2_RESVD_ELSE) {
128 CIO_MSG_EVENT(2, "SNID - Device %04x on Subchannel %04x " 129 CIO_MSG_EVENT(2, "SNID - Device %04x on Subchannel %04x "
129 "is reserved by someone else\n", 130 "is reserved by someone else\n",
130 cdev->private->devno, sch->irq); 131 cdev->private->devno, sch->schid.sch_no);
131 return -EUSERS; 132 return -EUSERS;
132 } 133 }
133 return 0; 134 return 0;
@@ -237,7 +238,7 @@ __ccw_device_do_pgid(struct ccw_device *cdev, __u8 func)
237 sch->vpm &= ~cdev->private->imask; 238 sch->vpm &= ~cdev->private->imask;
238 CIO_MSG_EVENT(2, "SPID - Device %04x on Subchannel " 239 CIO_MSG_EVENT(2, "SPID - Device %04x on Subchannel "
239 "%04x, lpm %02X, became 'not operational'\n", 240 "%04x, lpm %02X, became 'not operational'\n",
240 cdev->private->devno, sch->irq, cdev->private->imask); 241 cdev->private->devno, sch->schid.sch_no, cdev->private->imask);
241 return ret; 242 return ret;
242} 243}
243 244
@@ -271,7 +272,7 @@ __ccw_device_check_pgid(struct ccw_device *cdev)
271 if (irb->scsw.cc == 3) { 272 if (irb->scsw.cc == 3) {
272 CIO_MSG_EVENT(2, "SPID - Device %04x on Subchannel " 273 CIO_MSG_EVENT(2, "SPID - Device %04x on Subchannel "
273 "%04x, lpm %02X, became 'not operational'\n", 274 "%04x, lpm %02X, became 'not operational'\n",
274 cdev->private->devno, sch->irq, 275 cdev->private->devno, sch->schid.sch_no,
275 cdev->private->imask); 276 cdev->private->imask);
276 return -EACCES; 277 return -EACCES;
277 } 278 }
@@ -373,7 +374,7 @@ ccw_device_verify_start(struct ccw_device *cdev)
373 * Update sch->lpm with current values to catch paths becoming 374 * Update sch->lpm with current values to catch paths becoming
374 * available again. 375 * available again.
375 */ 376 */
376 if (stsch(sch->irq, &sch->schib)) { 377 if (stsch(sch->schid, &sch->schib)) {
377 ccw_device_verify_done(cdev, -ENODEV); 378 ccw_device_verify_done(cdev, -ENODEV);
378 return; 379 return;
379 } 380 }