Update of /cvsroot/gc-linux/linux/include/asm-ppc
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7425/include/asm-ppc
Modified Files:
io.h
Log Message:
This is still stuck in patchwork.ozlabs.org. Until it makes it upstream,
it may seek refuge here, since we're the only platform using it ATM:
Subject: [PATCH] ppc32: Big-endian I/O memory accessors.
I/O memory accessors. Big endian version. For those busses/devices
that do export big-endian I/O memory.
Of notable relevance/reference:
http://lwn.net/Articles/132804/
http://ozlabs.org/pipermail/linuxppc-embedded/2005-August/019798.html
http://ozlabs.org/pipermail/linuxppc-embedded/2005-August/019752.html
Signed-off-by: Arthur Othieno <a.o...@bl...>
Index: io.h
===================================================================
RCS file: /cvsroot/gc-linux/linux/include/asm-ppc/io.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- io.h 10 Sep 2005 21:18:24 -0000 1.9
+++ io.h 10 Oct 2005 22:12:22 -0000 1.10
@@ -487,11 +487,21 @@
return readw(addr);
}
+static inline unsigned int ioread16be(void __iomem *addr)
+{
+ return in_be16(addr);
+}
+
static inline unsigned int ioread32(void __iomem *addr)
{
return readl(addr);
}
+static inline unsigned int ioread32be(void __iomem *addr)
+{
+ return in_be32(addr);
+}
+
static inline void iowrite8(u8 val, void __iomem *addr)
{
writeb(val, addr);
@@ -502,11 +512,21 @@
writew(val, addr);
}
+static inline void iowrite16be(u16 val, void __iomem *addr)
+{
+ out_be16(addr, val);
+}
+
static inline void iowrite32(u32 val, void __iomem *addr)
{
writel(val, addr);
}
+static inline void iowrite32be(u32 val, void __iomem *addr)
+{
+ out_be32(addr, val);
+}
+
static inline void ioread8_rep(void __iomem *addr, void *dst, unsigned long count)
{
_insb(addr, dst, count);
|