endian-clean in_le64/out_le64
authorAl Viro <viro@ftp.linux.org.uk>
Sun, 14 Oct 2007 18:35:00 +0000 (19:35 +0100)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Sun, 14 Oct 2007 19:41:51 +0000 (12:41 -0700)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/asm-powerpc/io.h

index affba7052fb6dc935cc9fa41594306b9dcf13f0a..0d0589ef8ea68314ae6c8af77413a5022b50326a 100644 (file)
@@ -138,12 +138,12 @@ DEF_MMIO_IN_BE(in_be64, 64, ld);
 /* There is no asm instructions for 64 bits reverse loads and stores */
 static inline u64 in_le64(const volatile u64 __iomem *addr)
 {
-       return le64_to_cpu(in_be64(addr));
+       return swab64(in_be64(addr));
 }
 
 static inline void out_le64(volatile u64 __iomem *addr, u64 val)
 {
-       out_be64(addr, cpu_to_le64(val));
+       out_be64(addr, swab64(val));
 }
 #endif /* __powerpc64__ */