diff options
author | kaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-01-27 21:21:03 +0000 |
---|---|---|
committer | kaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-01-27 21:21:03 +0000 |
commit | 49fc845a47e8f6fa4a8e5ba8a405faa15ac2e516 (patch) | |
tree | aec8ad21d596db694682b7e6a7d30a62a7e747da /target | |
parent | 3dd4cf66034d43268d0c0c9b26fbb5a8d60e8129 (diff) |
add BE I/O memory accessors for arch/ppc
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10287 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target')
-rw-r--r-- | target/linux/generic-2.6/patches-2.6.23/920-ppc_big_endian_io_memory_accessors.patch | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/target/linux/generic-2.6/patches-2.6.23/920-ppc_big_endian_io_memory_accessors.patch b/target/linux/generic-2.6/patches-2.6.23/920-ppc_big_endian_io_memory_accessors.patch new file mode 100644 index 0000000000..939e590a18 --- /dev/null +++ b/target/linux/generic-2.6/patches-2.6.23/920-ppc_big_endian_io_memory_accessors.patch @@ -0,0 +1,80 @@ +From a.othieno@bluewin.ch Tue Oct 11 07:50:21 2005 +From: Arthur Othieno <a.othieno@bluewin.ch> +Subject: Big-endian I/O memory accessors. +Date: Tue, 11 Oct 2005 07:50:21 +1000 +X-Patchwork-ID: 2759 + +From: Arthur Othieno <a.othieno@bluewin.ch> + +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@bluewin.ch> +--- + +Paulus, + +A similar patch for ppc64 made it upstream with your big ppc64 merge. +This one is still sitting in http://patchwork.ozlabs.org/linuxppc/ +and didn't make it with the ppc32 equivalent. Thanks. + + + include/asm-ppc/io.h | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + + +--- +diff -uprN a/include/asm-ppc/io.h b/include/asm-ppc/io.h +--- a/include/asm-ppc/io.h 2005-08-21 17:49:44.000000000 -0400 ++++ b/include/asm-ppc/io.h 2005-08-21 20:29:55.000000000 -0400 +@@ -487,11 +487,21 @@ static inline unsigned int ioread16(void + 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 @@ static inline void iowrite16(u16 val, vo + 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); + |