diff options
author | Cornelia Huck <cohuck@de.ibm.com> | 2005-09-03 18:58:01 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@evo.osdl.org> | 2005-09-05 03:06:28 -0400 |
commit | 4c24da79e29537f0e240a331220a1c46cb9bc085 (patch) | |
tree | c71f0c6433274a5f029884f630a3a03c7bba8a30 /drivers/s390/cio | |
parent | fd49f41aa0c125ec649c56a45337b3024d6b1736 (diff) |
[PATCH] s390: reIPL fix and extern/static inline
Common i/o layer changes:
- Collect the irb at the correct subchannel when waiting for the clear
interrupt during subchannel cleaning befor reIPL - don't stop at the first
interrupt that comes in.
- Change "extern __inline__" to "static inline".
- Remove unneeded qdio includes.
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')
-rw-r--r-- | drivers/s390/cio/cio.c | 7 | ||||
-rw-r--r-- | drivers/s390/cio/device_fsm.c | 3 | ||||
-rw-r--r-- | drivers/s390/cio/device_ops.c | 4 | ||||
-rw-r--r-- | drivers/s390/cio/ioasm.h | 26 |
4 files changed, 19 insertions, 21 deletions
diff --git a/drivers/s390/cio/cio.c b/drivers/s390/cio/cio.c index ea813bdce1d6..185bc73c3ecd 100644 --- a/drivers/s390/cio/cio.c +++ b/drivers/s390/cio/cio.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * drivers/s390/cio/cio.c | 2 | * drivers/s390/cio/cio.c |
3 | * S/390 common I/O routines -- low level i/o calls | 3 | * S/390 common I/O routines -- low level i/o calls |
4 | * $Revision: 1.134 $ | 4 | * $Revision: 1.135 $ |
5 | * | 5 | * |
6 | * Copyright (C) 1999-2002 IBM Deutschland Entwicklung GmbH, | 6 | * Copyright (C) 1999-2002 IBM Deutschland Entwicklung GmbH, |
7 | * IBM Corporation | 7 | * IBM Corporation |
@@ -815,8 +815,9 @@ __clear_subchannel_easy(unsigned int schid) | |||
815 | struct tpi_info ti; | 815 | struct tpi_info ti; |
816 | 816 | ||
817 | if (tpi(&ti)) { | 817 | if (tpi(&ti)) { |
818 | tsch(schid, (struct irb *)__LC_IRB); | 818 | tsch(ti.irq, (struct irb *)__LC_IRB); |
819 | return 0; | 819 | if (ti.irq == schid) |
820 | return 0; | ||
820 | } | 821 | } |
821 | udelay(100); | 822 | udelay(100); |
822 | } | 823 | } |
diff --git a/drivers/s390/cio/device_fsm.c b/drivers/s390/cio/device_fsm.c index ee7a05e0c3ba..fbe4202a3f6f 100644 --- a/drivers/s390/cio/device_fsm.c +++ b/drivers/s390/cio/device_fsm.c | |||
@@ -13,7 +13,7 @@ | |||
13 | #include <linux/init.h> | 13 | #include <linux/init.h> |
14 | 14 | ||
15 | #include <asm/ccwdev.h> | 15 | #include <asm/ccwdev.h> |
16 | #include <asm/qdio.h> | 16 | #include <asm/cio.h> |
17 | 17 | ||
18 | #include "cio.h" | 18 | #include "cio.h" |
19 | #include "cio_debug.h" | 19 | #include "cio_debug.h" |
@@ -21,7 +21,6 @@ | |||
21 | #include "device.h" | 21 | #include "device.h" |
22 | #include "chsc.h" | 22 | #include "chsc.h" |
23 | #include "ioasm.h" | 23 | #include "ioasm.h" |
24 | #include "qdio.h" | ||
25 | 24 | ||
26 | int | 25 | int |
27 | device_is_online(struct subchannel *sch) | 26 | device_is_online(struct subchannel *sch) |
diff --git a/drivers/s390/cio/device_ops.c b/drivers/s390/cio/device_ops.c index 02d01a0de16c..ad3fe5aeb663 100644 --- a/drivers/s390/cio/device_ops.c +++ b/drivers/s390/cio/device_ops.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * drivers/s390/cio/device_ops.c | 2 | * drivers/s390/cio/device_ops.c |
3 | * | 3 | * |
4 | * $Revision: 1.56 $ | 4 | * $Revision: 1.57 $ |
5 | * | 5 | * |
6 | * Copyright (C) 2002 IBM Deutschland Entwicklung GmbH, | 6 | * Copyright (C) 2002 IBM Deutschland Entwicklung GmbH, |
7 | * IBM Corporation | 7 | * IBM Corporation |
@@ -19,14 +19,12 @@ | |||
19 | 19 | ||
20 | #include <asm/ccwdev.h> | 20 | #include <asm/ccwdev.h> |
21 | #include <asm/idals.h> | 21 | #include <asm/idals.h> |
22 | #include <asm/qdio.h> | ||
23 | 22 | ||
24 | #include "cio.h" | 23 | #include "cio.h" |
25 | #include "cio_debug.h" | 24 | #include "cio_debug.h" |
26 | #include "css.h" | 25 | #include "css.h" |
27 | #include "chsc.h" | 26 | #include "chsc.h" |
28 | #include "device.h" | 27 | #include "device.h" |
29 | #include "qdio.h" | ||
30 | 28 | ||
31 | int | 29 | int |
32 | ccw_device_set_options(struct ccw_device *cdev, unsigned long flags) | 30 | ccw_device_set_options(struct ccw_device *cdev, unsigned long flags) |
diff --git a/drivers/s390/cio/ioasm.h b/drivers/s390/cio/ioasm.h index c874607d9a80..45480a2bc4c0 100644 --- a/drivers/s390/cio/ioasm.h +++ b/drivers/s390/cio/ioasm.h | |||
@@ -21,7 +21,7 @@ struct tpi_info { | |||
21 | * Some S390 specific IO instructions as inline | 21 | * Some S390 specific IO instructions as inline |
22 | */ | 22 | */ |
23 | 23 | ||
24 | extern __inline__ int stsch(int irq, volatile struct schib *addr) | 24 | static inline int stsch(int irq, volatile struct schib *addr) |
25 | { | 25 | { |
26 | int ccode; | 26 | int ccode; |
27 | 27 | ||
@@ -36,7 +36,7 @@ extern __inline__ int stsch(int irq, volatile struct schib *addr) | |||
36 | return ccode; | 36 | return ccode; |
37 | } | 37 | } |
38 | 38 | ||
39 | extern __inline__ int msch(int irq, volatile struct schib *addr) | 39 | static inline int msch(int irq, volatile struct schib *addr) |
40 | { | 40 | { |
41 | int ccode; | 41 | int ccode; |
42 | 42 | ||
@@ -51,7 +51,7 @@ extern __inline__ int msch(int irq, volatile struct schib *addr) | |||
51 | return ccode; | 51 | return ccode; |
52 | } | 52 | } |
53 | 53 | ||
54 | extern __inline__ int msch_err(int irq, volatile struct schib *addr) | 54 | static inline int msch_err(int irq, volatile struct schib *addr) |
55 | { | 55 | { |
56 | int ccode; | 56 | int ccode; |
57 | 57 | ||
@@ -79,7 +79,7 @@ extern __inline__ int msch_err(int irq, volatile struct schib *addr) | |||
79 | return ccode; | 79 | return ccode; |
80 | } | 80 | } |
81 | 81 | ||
82 | extern __inline__ int tsch(int irq, volatile struct irb *addr) | 82 | static inline int tsch(int irq, volatile struct irb *addr) |
83 | { | 83 | { |
84 | int ccode; | 84 | int ccode; |
85 | 85 | ||
@@ -94,7 +94,7 @@ extern __inline__ int tsch(int irq, volatile struct irb *addr) | |||
94 | return ccode; | 94 | return ccode; |
95 | } | 95 | } |
96 | 96 | ||
97 | extern __inline__ int tpi( volatile struct tpi_info *addr) | 97 | static inline int tpi( volatile struct tpi_info *addr) |
98 | { | 98 | { |
99 | int ccode; | 99 | int ccode; |
100 | 100 | ||
@@ -108,7 +108,7 @@ extern __inline__ int tpi( volatile struct tpi_info *addr) | |||
108 | return ccode; | 108 | return ccode; |
109 | } | 109 | } |
110 | 110 | ||
111 | extern __inline__ int ssch(int irq, volatile struct orb *addr) | 111 | static inline int ssch(int irq, volatile struct orb *addr) |
112 | { | 112 | { |
113 | int ccode; | 113 | int ccode; |
114 | 114 | ||
@@ -123,7 +123,7 @@ extern __inline__ int ssch(int irq, volatile struct orb *addr) | |||
123 | return ccode; | 123 | return ccode; |
124 | } | 124 | } |
125 | 125 | ||
126 | extern __inline__ int rsch(int irq) | 126 | static inline int rsch(int irq) |
127 | { | 127 | { |
128 | int ccode; | 128 | int ccode; |
129 | 129 | ||
@@ -138,7 +138,7 @@ extern __inline__ int rsch(int irq) | |||
138 | return ccode; | 138 | return ccode; |
139 | } | 139 | } |
140 | 140 | ||
141 | extern __inline__ int csch(int irq) | 141 | static inline int csch(int irq) |
142 | { | 142 | { |
143 | int ccode; | 143 | int ccode; |
144 | 144 | ||
@@ -153,7 +153,7 @@ extern __inline__ int csch(int irq) | |||
153 | return ccode; | 153 | return ccode; |
154 | } | 154 | } |
155 | 155 | ||
156 | extern __inline__ int hsch(int irq) | 156 | static inline int hsch(int irq) |
157 | { | 157 | { |
158 | int ccode; | 158 | int ccode; |
159 | 159 | ||
@@ -168,7 +168,7 @@ extern __inline__ int hsch(int irq) | |||
168 | return ccode; | 168 | return ccode; |
169 | } | 169 | } |
170 | 170 | ||
171 | extern __inline__ int xsch(int irq) | 171 | static inline int xsch(int irq) |
172 | { | 172 | { |
173 | int ccode; | 173 | int ccode; |
174 | 174 | ||
@@ -183,7 +183,7 @@ extern __inline__ int xsch(int irq) | |||
183 | return ccode; | 183 | return ccode; |
184 | } | 184 | } |
185 | 185 | ||
186 | extern __inline__ int chsc(void *chsc_area) | 186 | static inline int chsc(void *chsc_area) |
187 | { | 187 | { |
188 | int cc; | 188 | int cc; |
189 | 189 | ||
@@ -198,7 +198,7 @@ extern __inline__ int chsc(void *chsc_area) | |||
198 | return cc; | 198 | return cc; |
199 | } | 199 | } |
200 | 200 | ||
201 | extern __inline__ int iac( void) | 201 | static inline int iac( void) |
202 | { | 202 | { |
203 | int ccode; | 203 | int ccode; |
204 | 204 | ||
@@ -210,7 +210,7 @@ extern __inline__ int iac( void) | |||
210 | return ccode; | 210 | return ccode; |
211 | } | 211 | } |
212 | 212 | ||
213 | extern __inline__ int rchp(int chpid) | 213 | static inline int rchp(int chpid) |
214 | { | 214 | { |
215 | int ccode; | 215 | int ccode; |
216 | 216 | ||