aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-generic
diff options
context:
space:
mode:
authorJames Bottomley <James.Bottomley@SteelEye.com>2005-04-16 18:25:54 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 18:25:54 -0400
commitdae409a27788774adb810f7cdb771ba7cce7af8a (patch)
tree7fbbbe81527c5f321f374f958a82dfa30e170850 /include/asm-generic
parentc41f5eb3b8feb8772561f0e34cfee4de1fa433ec (diff)
[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 <James.Bottomley@SteelEye.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-generic')
-rw-r--r--include/asm-generic/iomap.h5
1 files changed, 5 insertions, 0 deletions
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 @@
2#define __GENERIC_IO_H 2#define __GENERIC_IO_H
3 3
4#include <linux/linkage.h> 4#include <linux/linkage.h>
5#include <asm/byteorder.h>
5 6
6/* 7/*
7 * These are the "generic" interfaces for doing new-style 8 * These are the "generic" interfaces for doing new-style
@@ -26,11 +27,15 @@
26 */ 27 */
27extern unsigned int fastcall ioread8(void __iomem *); 28extern unsigned int fastcall ioread8(void __iomem *);
28extern unsigned int fastcall ioread16(void __iomem *); 29extern unsigned int fastcall ioread16(void __iomem *);
30extern unsigned int fastcall ioread16be(void __iomem *);
29extern unsigned int fastcall ioread32(void __iomem *); 31extern unsigned int fastcall ioread32(void __iomem *);
32extern unsigned int fastcall ioread32be(void __iomem *);
30 33
31extern void fastcall iowrite8(u8, void __iomem *); 34extern void fastcall iowrite8(u8, void __iomem *);
32extern void fastcall iowrite16(u16, void __iomem *); 35extern void fastcall iowrite16(u16, void __iomem *);
36extern void fastcall iowrite16be(u16, void __iomem *);
33extern void fastcall iowrite32(u32, void __iomem *); 37extern void fastcall iowrite32(u32, void __iomem *);
38extern void fastcall iowrite32be(u32, void __iomem *);
34 39
35/* 40/*
36 * "string" versions of the above. Note that they 41 * "string" versions of the above. Note that they