[PATCH] ppc32: Big-endian I/O memory accessors.
Arthur Othieno
a.othieno at bluewin.ch
Sun Aug 21 11:16:49 EST 2005
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.othieno at bluewin.ch>
io.h | 20 ++++++++++++++++++++
1 files changed, 20 insertions(+)
--- a/include/asm-ppc/io.h 2005-08-20 19:24:40.000000000 -0400
+++ b/include/asm-ppc/io.h 2005-08-20 20:18:03.000000000 -0400
@@ -487,11 +487,21 @@
return readw(addr);
}
+static inline unsigned int ioread16be(void __iomem *addr)
+{
+ return __raw_readw(addr);
+}
+
static inline unsigned int ioread32(void __iomem *addr)
{
return readl(addr);
}
+static inline unsigned int ioread32be(void __iomem *addr)
+{
+ return __raw_readl(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)
+{
+ __raw_writew(val, addr);
+}
+
static inline void iowrite32(u32 val, void __iomem *addr)
{
writel(val, addr);
}
+static inline void iowrite32be(u32 val, void __iomem *addr)
+{
+ __raw_writel(val, addr);
+}
+
static inline void ioread8_rep(void __iomem *addr, void *dst, unsigned long count)
{
_insb(addr, dst, count);
More information about the Linuxppc-dev
mailing list