diff options
author | Sebastian Ott <sebott@linux.vnet.ibm.com> | 2011-03-15 19:08:24 +0300 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2011-03-15 19:08:23 +0300 |
commit | dbda8ce5407c731a0108a35db3e058d5d350dd80 (patch) | |
tree | 3bcf6fbb2d8e0e501c73fe718b6c23ee20b0a06b /drivers/s390/cio/io_sch.h | |
parent | 9e6f9f851cfa41f42f8985e0b82a54b1b28d3465 (diff) | |
download | linux-dbda8ce5407c731a0108a35db3e058d5d350dd80.tar.xz |
[S390] cio: move asms to generic header
The ssch and csch functions are not I/O subchannel specific,
thus move them from io_sch.h to ioasm.h
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio/io_sch.h')
-rw-r--r-- | drivers/s390/cio/io_sch.h | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/drivers/s390/cio/io_sch.h b/drivers/s390/cio/io_sch.h index 20e7a1b127ce..36870d9f108a 100644 --- a/drivers/s390/cio/io_sch.h +++ b/drivers/s390/cio/io_sch.h @@ -139,23 +139,6 @@ struct ccw_device_private { void *cmb_wait; /* deferred cmb enable/disable */ }; -static inline int ssch(struct subchannel_id schid, union orb *addr) -{ - register struct subchannel_id reg1 asm("1") = schid; - int ccode = -EIO; - - asm volatile( - " ssch 0(%2)\n" - "0: ipm %0\n" - " srl %0,28\n" - "1:\n" - EX_TABLE(0b, 1b) - : "+d" (ccode) - : "d" (reg1), "a" (addr), "m" (*addr) - : "cc", "memory"); - return ccode; -} - static inline int rsch(struct subchannel_id schid) { register struct subchannel_id reg1 asm("1") = schid; @@ -171,21 +154,6 @@ static inline int rsch(struct subchannel_id schid) return ccode; } -static inline int csch(struct subchannel_id schid) -{ - register struct subchannel_id reg1 asm("1") = schid; - int ccode; - - asm volatile( - " csch\n" - " ipm %0\n" - " srl %0,28" - : "=d" (ccode) - : "d" (reg1) - : "cc"); - return ccode; -} - static inline int hsch(struct subchannel_id schid) { register struct subchannel_id reg1 asm("1") = schid; |