From dae409a27788774adb810f7cdb771ba7cce7af8a Mon Sep 17 00:00:00 2001 From: James Bottomley Date: Sat, 16 Apr 2005 15:25:54 -0700 Subject: [PATCH] add Big Endian variants of ioread/iowrite In the new io infrastructure, all of our operators are expecting the underlying device to be little endian (because the PCI bus, their main consumer, is LE). However, there are a fair few devices and busses in the world that are actually Big Endian. There's even evidence that some of these BE bus and chip types are attached to LE systems. Thus, there's a need for a BE equivalent of our io{read,write}{16,32} operations. The attached patch adds this as io{read,write}{16,32}be. When it's in, I'll add the first consume (the 53c700 SCSI chip driver). Signed-off-by: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- include/asm-generic/iomap.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'include/asm-generic/iomap.h') diff --git a/include/asm-generic/iomap.h b/include/asm-generic/iomap.h index 4991543d44c8..cde592fca441 100644 --- a/include/asm-generic/iomap.h +++ b/include/asm-generic/iomap.h @@ -2,6 +2,7 @@ #define __GENERIC_IO_H #include +#include /* * These are the "generic" interfaces for doing new-style @@ -26,11 +27,15 @@ */ extern unsigned int fastcall ioread8(void __iomem *); extern unsigned int fastcall ioread16(void __iomem *); +extern unsigned int fastcall ioread16be(void __iomem *); extern unsigned int fastcall ioread32(void __iomem *); +extern unsigned int fastcall ioread32be(void __iomem *); extern void fastcall iowrite8(u8, void __iomem *); extern void fastcall iowrite16(u16, void __iomem *); +extern void fastcall iowrite16be(u16, void __iomem *); extern void fastcall iowrite32(u32, void __iomem *); +extern void fastcall iowrite32be(u32, void __iomem *); /* * "string" versions of the above. Note that they -- cgit