diff options
author | Hauke Mehrtens <hauke@openwrt.org> | 2010-01-03 00:06:37 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@openwrt.org> | 2010-01-03 00:06:37 +0000 |
commit | 141b8883e207c94b36ddfd88c8b79f839418335f (patch) | |
tree | 3e0a8d91e9bf267e90cad08498894bc4dc84ac16 | |
parent | 27a12a6ecea5584fcb72a018065acf297dfef585 (diff) | |
download | upstream-141b8883e207c94b36ddfd88c8b79f839418335f.tar.gz upstream-141b8883e207c94b36ddfd88c8b79f839418335f.tar.bz2 upstream-141b8883e207c94b36ddfd88c8b79f839418335f.zip |
amazon: readd wrongly removed file
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19014 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r-- | target/linux/amazon/files/include/asm-mips/mach-amazon/mangle-port.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/target/linux/amazon/files/include/asm-mips/mach-amazon/mangle-port.h b/target/linux/amazon/files/include/asm-mips/mach-amazon/mangle-port.h new file mode 100644 index 0000000000..af8c3e9394 --- /dev/null +++ b/target/linux/amazon/files/include/asm-mips/mach-amazon/mangle-port.h @@ -0,0 +1,52 @@ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 2003, 2004 Ralf Baechle + */ +#ifndef __ASM_MACH_AMAZON_MANGLE_PORT_H +#define __ASM_MACH_AMAZON_MANGLE_PORT_H + +#define __swizzle_addr_b(port) (port) +#define __swizzle_addr_w(port) ((port) ^ 2) +#define __swizzle_addr_l(port) (port) +#define __swizzle_addr_q(port) (port) + +/* + * Sane hardware offers swapping of PCI/ISA I/O space accesses in hardware; + * less sane hardware forces software to fiddle with this... + * + * Regardless, if the host bus endianness mismatches that of PCI/ISA, then + * you can't have the numerical value of data and byte addresses within + * multibyte quantities both preserved at the same time. Hence two + * variations of functions: non-prefixed ones that preserve the value + * and prefixed ones that preserve byte addresses. The latters are + * typically used for moving raw data between a peripheral and memory (cf. + * string I/O functions), hence the "__mem_" prefix. + */ +#if defined(CONFIG_SWAP_IO_SPACE) + +# define ioswabb(a, x) (x) +# define __mem_ioswabb(a, x) (x) +# define ioswabw(a, x) le16_to_cpu(x) +# define __mem_ioswabw(a, x) (x) +# define ioswabl(a, x) le32_to_cpu(x) +# define __mem_ioswabl(a, x) (x) +# define ioswabq(a, x) le64_to_cpu(x) +# define __mem_ioswabq(a, x) (x) + +#else + +# 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 + +#endif /* __ASM_MACH_AMAZON_MANGLE_PORT_H */ |