50 lines
		
	
	
	
		
			1.5 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			50 lines
		
	
	
	
		
			1.5 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
|   | /*
 | ||
|  |  * SH version cribbed from the MIPS copy: | ||
|  |  * | ||
|  |  * 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 __MACH_COMMON_MANGLE_PORT_H
 | ||
|  | #define __MACH_COMMON_MANGLE_PORT_H
 | ||
|  | 
 | ||
|  | /*
 | ||
|  |  * 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(x)		(x)
 | ||
|  | # define __mem_ioswabb(x)	(x)
 | ||
|  | # define ioswabw(x)		le16_to_cpu(x)
 | ||
|  | # define __mem_ioswabw(x)	(x)
 | ||
|  | # define ioswabl(x)		le32_to_cpu(x)
 | ||
|  | # define __mem_ioswabl(x)	(x)
 | ||
|  | # define ioswabq(x)		le64_to_cpu(x)
 | ||
|  | # define __mem_ioswabq(x)	(x)
 | ||
|  | 
 | ||
|  | #else
 | ||
|  | 
 | ||
|  | # define ioswabb(x)		(x)
 | ||
|  | # define __mem_ioswabb(x)	(x)
 | ||
|  | # define ioswabw(x)		(x)
 | ||
|  | # define __mem_ioswabw(x)	cpu_to_le16(x)
 | ||
|  | # define ioswabl(x)		(x)
 | ||
|  | # define __mem_ioswabl(x)	cpu_to_le32(x)
 | ||
|  | # define ioswabq(x)		(x)
 | ||
|  | # define __mem_ioswabq(x)	cpu_to_le32(x)
 | ||
|  | 
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #endif /* __MACH_COMMON_MANGLE_PORT_H */
 |