Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * This file is subject to the terms and conditions of the GNU General Public | |
3 | * License. See the file "COPYING" in the main directory of this archive | |
4 | * for more details. | |
5 | * | |
6 | * Copyright (C) 2003, 2004 Ralf Baechle | |
7 | */ | |
8 | #ifndef __ASM_MACH_GENERIC_MANGLE_PORT_H | |
9 | #define __ASM_MACH_GENERIC_MANGLE_PORT_H | |
10 | ||
11 | #define __swizzle_addr_b(port) (port) | |
12 | #define __swizzle_addr_w(port) (port) | |
13 | #define __swizzle_addr_l(port) (port) | |
14 | #define __swizzle_addr_q(port) (port) | |
15 | ||
a8433137 AN |
16 | /* |
17 | * Sane hardware offers swapping of PCI/ISA I/O space accesses in hardware; | |
18 | * less sane hardware forces software to fiddle with this... | |
19 | * | |
20 | * Regardless, if the host bus endianness mismatches that of PCI/ISA, then | |
21 | * you can't have the numerical value of data and byte addresses within | |
22 | * multibyte quantities both preserved at the same time. Hence two | |
23 | * variations of functions: non-prefixed ones that preserve the value | |
24 | * and prefixed ones that preserve byte addresses. The latters are | |
25 | * typically used for moving raw data between a peripheral and memory (cf. | |
26 | * string I/O functions), hence the "__mem_" prefix. | |
27 | */ | |
28 | #if defined(CONFIG_SWAP_IO_SPACE) | |
29 | ||
21a151d8 RB |
30 | # define ioswabb(a, x) (x) |
31 | # define __mem_ioswabb(a, x) (x) | |
32 | # define ioswabw(a, x) le16_to_cpu(x) | |
33 | # define __mem_ioswabw(a, x) (x) | |
34 | # define ioswabl(a, x) le32_to_cpu(x) | |
35 | # define __mem_ioswabl(a, x) (x) | |
36 | # define ioswabq(a, x) le64_to_cpu(x) | |
37 | # define __mem_ioswabq(a, x) (x) | |
a8433137 AN |
38 | |
39 | #else | |
40 | ||
21a151d8 RB |
41 | # define ioswabb(a, x) (x) |
42 | # define __mem_ioswabb(a, x) (x) | |
43 | # define ioswabw(a, x) (x) | |
44 | # define __mem_ioswabw(a, x) cpu_to_le16(x) | |
45 | # define ioswabl(a, x) (x) | |
46 | # define __mem_ioswabl(a, x) cpu_to_le32(x) | |
47 | # define ioswabq(a, x) (x) | |
48 | # define __mem_ioswabq(a, x) cpu_to_le32(x) | |
a8433137 AN |
49 | |
50 | #endif | |
51 | ||
1da177e4 | 52 | #endif /* __ASM_MACH_GENERIC_MANGLE_PORT_H */ |