diff options
author | Atsushi Nemoto <anemo@mba.ocn.ne.jp> | 2006-02-17 01:36:24 +0900 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2006-03-21 13:27:45 +0000 |
commit | a8433137ea9143bb3a2bc18a3407b5a130fdb868 (patch) | |
tree | ff40223bf542173015c070a988a4f3b0554f89ea /include/asm-mips/mach-ip32 | |
parent | c1449c8fa40859eb269025a7db85b34115205f5b (diff) | |
download | blackbird-op-linux-a8433137ea9143bb3a2bc18a3407b5a130fdb868.tar.gz blackbird-op-linux-a8433137ea9143bb3a2bc18a3407b5a130fdb868.zip |
[MIPS] Make I/O helpers more customizable
1. Move ioswab*() and __mem_ioswab*() to mangle-port.h. This gets rid
of CONFIG_SGI_IP22 from include/asm-mips/io.h.
2. Pass a virtual address to *ioswab*(). Then we can provide
mach-specific *ioswab*() and can do every evil thing based on its
argument. It could be useful on machines which have regions with
different endian conversion scheme.
3. Call __swizzle_addr*() _after_ adding mips_io_port_base. This
unifies the meaning of the argument of __swizzle_addr*() (always
virtual address). Then mach-specific __swizzle_addr*() can do every
evil thing based on the argument.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'include/asm-mips/mach-ip32')
-rw-r--r-- | include/asm-mips/mach-ip32/mangle-port.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/asm-mips/mach-ip32/mangle-port.h b/include/asm-mips/mach-ip32/mangle-port.h index 6e25b52ed8f2..81320eb55324 100644 --- a/include/asm-mips/mach-ip32/mangle-port.h +++ b/include/asm-mips/mach-ip32/mangle-port.h @@ -14,4 +14,13 @@ #define __swizzle_addr_l(port) (port) #define __swizzle_addr_q(port) (port) +# define ioswabb(a,x) (x) +# define __mem_ioswabb(a,x) (x) +# define ioswabw(a,x) (x) +# define __mem_ioswabw(a,x) cpu_to_le16(x) +# define ioswabl(a,x) (x) +# define __mem_ioswabl(a,x) cpu_to_le32(x) +# define ioswabq(a,x) (x) +# define __mem_ioswabq(a,x) cpu_to_le32(x) + #endif /* __ASM_MACH_IP32_MANGLE_PORT_H */ |