mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-08 15:04:45 +00:00
[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>
This commit is contained in:
parent
fd49f41aa0
commit
4c24da79e2
@ -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 schid)
|
||||
struct 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);
|
||||
}
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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, volatile struct schib *addr)
|
||||
return 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, volatile struct schib *addr)
|
||||
return 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, volatile struct schib *addr)
|
||||
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, volatile struct irb *addr)
|
||||
return 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 struct tpi_info *addr)
|
||||
return 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, volatile struct orb *addr)
|
||||
return 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_area)
|
||||
return 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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user