From: Arthur O. <aot...@us...> - 2005-10-10 22:12:25
|
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); |