From: Cedric Le Goater Replace-Subject: s390 adds __raw_writeq required by __iowrite64_copy. It also adds all the related quad routines. Signed-off-by: Cedric Le Goater --- include/asm-s390/io.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) Index: 2.6.17-rc6-mm1/include/asm-s390/io.h =================================================================== --- 2.6.17-rc6-mm1.orig/include/asm-s390/io.h +++ 2.6.17-rc6-mm1/include/asm-s390/io.h @@ -86,20 +86,35 @@ extern void iounmap(void *addr); #define readb(addr) (*(volatile unsigned char *) __io_virt(addr)) #define readw(addr) (*(volatile unsigned short *) __io_virt(addr)) #define readl(addr) (*(volatile unsigned int *) __io_virt(addr)) +#ifdef __s390x__ +#define readq(addr) (*(volatile unsigned long *) __io_virt(addr)) +#endif #define readb_relaxed(addr) readb(addr) #define readw_relaxed(addr) readw(addr) #define readl_relaxed(addr) readl(addr) +#ifdef __s390x__ +#define readq_relaxed(addr) readq(addr) +#endif #define __raw_readb readb #define __raw_readw readw #define __raw_readl readl +#ifdef __s390x__ +#define __raw_readq readq +#endif #define writeb(b,addr) (*(volatile unsigned char *) __io_virt(addr) = (b)) #define writew(b,addr) (*(volatile unsigned short *) __io_virt(addr) = (b)) #define writel(b,addr) (*(volatile unsigned int *) __io_virt(addr) = (b)) +#ifdef __s390x__ +#define writeq(b,addr) (*(volatile unsigned long *) __io_virt(addr) = (b)) +#endif #define __raw_writeb writeb #define __raw_writew writew #define __raw_writel writel +#ifdef __s390x__ +#define __raw_writeq writeq +#endif #define memset_io(a,b,c) memset(__io_virt(a),(b),(c)) #define memcpy_fromio(a,b,c) memcpy((a),__io_virt(b),(c))