Warning: This file is not a C or C++ file. It does not have highlighting.
1 | /* SPDX-License-Identifier: GPL-2.0 |
---|---|
2 | * |
3 | * SH version cribbed from the MIPS copy: |
4 | * |
5 | * Copyright (C) 2003, 2004 Ralf Baechle |
6 | */ |
7 | #ifndef __MACH_COMMON_MANGLE_PORT_H |
8 | #define __MACH_COMMON_MANGLE_PORT_H |
9 | |
10 | /* |
11 | * Sane hardware offers swapping of PCI/ISA I/O space accesses in hardware; |
12 | * less sane hardware forces software to fiddle with this... |
13 | * |
14 | * Regardless, if the host bus endianness mismatches that of PCI/ISA, then |
15 | * you can't have the numerical value of data and byte addresses within |
16 | * multibyte quantities both preserved at the same time. Hence two |
17 | * variations of functions: non-prefixed ones that preserve the value |
18 | * and prefixed ones that preserve byte addresses. The latters are |
19 | * typically used for moving raw data between a peripheral and memory (cf. |
20 | * string I/O functions), hence the "__mem_" prefix. |
21 | */ |
22 | #if defined(CONFIG_SWAP_IO_SPACE) |
23 | |
24 | # define ioswabb(x) (x) |
25 | # define __mem_ioswabb(x) (x) |
26 | # define ioswabw(x) le16_to_cpu(x) |
27 | # define __mem_ioswabw(x) (x) |
28 | # define ioswabl(x) le32_to_cpu(x) |
29 | # define __mem_ioswabl(x) (x) |
30 | # define ioswabq(x) le64_to_cpu(x) |
31 | # define __mem_ioswabq(x) (x) |
32 | |
33 | #else |
34 | |
35 | # define ioswabb(x) (x) |
36 | # define __mem_ioswabb(x) (x) |
37 | # define ioswabw(x) (x) |
38 | # define __mem_ioswabw(x) cpu_to_le16(x) |
39 | # define ioswabl(x) (x) |
40 | # define __mem_ioswabl(x) cpu_to_le32(x) |
41 | # define ioswabq(x) (x) |
42 | # define __mem_ioswabq(x) cpu_to_le32(x) |
43 | |
44 | #endif |
45 | |
46 | #endif /* __MACH_COMMON_MANGLE_PORT_H */ |
47 |
Warning: This file is not a C or C++ file. It does not have highlighting.