s390: reIPL fix and extern/static inline.
Subsystems (2)
PATCH 5/10 s390: reIPL fix and extern/static inline.
[patch 5/10] s390: reIPL fix and extern/static inline.
From: Cornelia Huck <[email protected]>
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 <[email protected]>
Signed-off-by Martin Schwidefsky <[email protected]>
diffstat:
drivers/s390/cio/cio.c | 7 ++++--- drivers/s390/cio/device_fsm.c | 3 +-- drivers/s390/cio/device_ops.c | 4 +--- drivers/s390/cio/ioasm.h | 26 +++++++++++++------------- 4 files changed, 19 insertions(+), 21 deletions(-)
drivers/s390/cio/cio.c +4 -3
@@ -1,7 +1,7 @@/* * drivers/s390/cio/cio.c * S/390 common I/O routines -- low level i/o calls -* $Revision: 1.134 $ +* $Revision: 1.135 $ * * Copyright (C) 1999-2002 IBM Deutschland Entwicklung GmbH, * IBM Corporation
@@ -815,8 +815,9 @@ __clear_subchannel_easy(unsigned int schstruct tpi_info ti;if (tpi (&ti)) { -tsch (schid, (struct irb *)__LC_IRB); -return 0 ; +tsch (ti.irq, (struct irb *)__LC_IRB); +if (ti.irq == schid) +return 0 ; }udelay (100 ); }
drivers/s390/cio/device_fsm.c +1 -2
@@ -13,7 +13,7 @@#include <linux/init.h> #include <asm/ccwdev.h> -#include <asm/qdio.h> +#include <asm/cio.h> #include "cio.h" #include "cio_debug.h"
@@ -21,7 +21,6 @@#include "device.h" #include "chsc.h" #include "ioasm.h" -#include "qdio.h" int device_is_online (struct subchannel *sch)
drivers/s390/cio/device_ops.c +1 -3
@@ -1,7 +1,7 @@/* * drivers/s390/cio/device_ops.c * -* $Revision: 1.56 $ +* $Revision: 1.57 $ * * Copyright (C) 2002 IBM Deutschland Entwicklung GmbH, * IBM Corporation
@@ -19,14 +19,12 @@#include <asm/ccwdev.h> #include <asm/idals.h> -#include <asm/qdio.h> #include "cio.h" #include "cio_debug.h" #include "css.h" #include "chsc.h" #include "device.h" -#include "qdio.h" int ccw_device_set_options (struct ccw_device *cdev,unsigned long flags)
drivers/s390/cio/ioasm.h +13 -13
@@ -21,7 +21,7 @@ struct tpi_info {* Some S390 specific IO instructions as inline */ -extern __inline__int stsch (int irq,volatile struct schib *addr) +static inline int stsch (int irq,volatile struct schib *addr) {int ccode;
@@ -36,7 +36,7 @@ extern __inline__ int stsch(int irq, volreturn ccode; } -extern __inline__int msch (int irq,volatile struct schib *addr) +static inline int msch (int irq,volatile struct schib *addr) {int ccode;
@@ -51,7 +51,7 @@ extern __inline__ int msch(int irq, volareturn ccode; } -extern __inline__int msch_err (int irq,volatile struct schib *addr) +static inline int msch_err (int irq,volatile struct schib *addr) {int ccode;
@@ -79,7 +79,7 @@ extern __inline__ int msch_err(int irq,return ccode; } -extern __inline__int tsch (int irq,volatile struct irb *addr) +static inline int tsch (int irq,volatile struct irb *addr) {int ccode;
@@ -94,7 +94,7 @@ extern __inline__ int tsch(int irq, volareturn ccode; } -extern __inline__int tpi (volatile struct tpi_info *addr) +static inline int tpi (volatile struct tpi_info *addr) {int ccode;
@@ -108,7 +108,7 @@ extern __inline__ int tpi( volatile strureturn ccode; } -extern __inline__int ssch (int irq,volatile struct orb *addr) +static inline int ssch (int irq,volatile struct orb *addr) {int ccode;
@@ -123,7 +123,7 @@ extern __inline__ int ssch(int irq, volareturn ccode; } -extern __inline__int rsch (int irq) +static inline int rsch (int irq) {int ccode;
@@ -138,7 +138,7 @@ extern __inline__ int rsch(int irq)return ccode; } -extern __inline__int csch (int irq) +static inline int csch (int irq) {int ccode;
@@ -153,7 +153,7 @@ extern __inline__ int csch(int irq)return ccode; } -extern __inline__int hsch (int irq) +static inline int hsch (int irq) {int ccode;
@@ -168,7 +168,7 @@ extern __inline__ int hsch(int irq)return ccode; } -extern __inline__int xsch (int irq) +static inline int xsch (int irq) {int ccode;
@@ -183,7 +183,7 @@ extern __inline__ int xsch(int irq)return ccode; } -extern __inline__int chsc (void *chsc_area) +static inline int chsc (void *chsc_area) {int cc;
@@ -198,7 +198,7 @@ extern __inline__ int chsc(void *chsc_arreturn cc; } -extern __inline__int iac (void ) +static inline int iac (void ) {int ccode;
@@ -210,7 +210,7 @@ extern __inline__ int iac( void)return ccode; } -extern __inline__int rchp (int chpid) +static inline int rchp (int chpid) {int ccode;