Commit 76637536 authored by Arthur Othieno's avatar Arthur Othieno Committed by Paul Mackerras

[PATCH] ppc64: 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.htmlSigned-Off-By: default avatarArthur Othieno <a.othieno@bluewin.ch>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 1635317f
...@@ -22,13 +22,23 @@ unsigned int fastcall ioread16(void __iomem *addr) ...@@ -22,13 +22,23 @@ unsigned int fastcall ioread16(void __iomem *addr)
{ {
return readw(addr); return readw(addr);
} }
unsigned int fastcall ioread16be(void __iomem *addr)
{
return in_be16(addr);
}
unsigned int fastcall ioread32(void __iomem *addr) unsigned int fastcall ioread32(void __iomem *addr)
{ {
return readl(addr); return readl(addr);
} }
unsigned int fastcall ioread32be(void __iomem *addr)
{
return in_be32(addr);
}
EXPORT_SYMBOL(ioread8); EXPORT_SYMBOL(ioread8);
EXPORT_SYMBOL(ioread16); EXPORT_SYMBOL(ioread16);
EXPORT_SYMBOL(ioread16be);
EXPORT_SYMBOL(ioread32); EXPORT_SYMBOL(ioread32);
EXPORT_SYMBOL(ioread32be);
void fastcall iowrite8(u8 val, void __iomem *addr) void fastcall iowrite8(u8 val, void __iomem *addr)
{ {
...@@ -38,13 +48,23 @@ void fastcall iowrite16(u16 val, void __iomem *addr) ...@@ -38,13 +48,23 @@ void fastcall iowrite16(u16 val, void __iomem *addr)
{ {
writew(val, addr); writew(val, addr);
} }
void fastcall iowrite16be(u16 val, void __iomem *addr)
{
out_be16(addr, val);
}
void fastcall iowrite32(u32 val, void __iomem *addr) void fastcall iowrite32(u32 val, void __iomem *addr)
{ {
writel(val, addr); writel(val, addr);
} }
void fastcall iowrite32be(u32 val, void __iomem *addr)
{
out_be32(addr, val);
}
EXPORT_SYMBOL(iowrite8); EXPORT_SYMBOL(iowrite8);
EXPORT_SYMBOL(iowrite16); EXPORT_SYMBOL(iowrite16);
EXPORT_SYMBOL(iowrite16be);
EXPORT_SYMBOL(iowrite32); EXPORT_SYMBOL(iowrite32);
EXPORT_SYMBOL(iowrite32be);
/* /*
* These are the "repeat read/write" functions. Note the * These are the "repeat read/write" functions. Note the
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment