| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | /*
 | 
					
						
							| 
									
										
										
										
											2006-01-16 22:14:15 -08:00
										 |  |  |  * Trivial I/O routine definitions, intentionally meant to be included | 
					
						
							|  |  |  |  * multiple times. Ugly I/O routine concatenation helpers taken from | 
					
						
							|  |  |  |  * alpha. Must be included _before_ io.h to avoid preprocessor-induced | 
					
						
							|  |  |  |  * routine mismatch. | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  |  */ | 
					
						
							| 
									
										
										
										
											2006-01-16 22:14:15 -08:00
										 |  |  | #define IO_CONCAT(a,b)	_IO_CONCAT(a,b)
 | 
					
						
							|  |  |  | #define _IO_CONCAT(a,b)	a ## _ ## b
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef __IO_PREFIX
 | 
					
						
							|  |  |  | #error "Don't include this header without a valid system prefix"
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | u8 IO_CONCAT(__IO_PREFIX,inb)(unsigned long); | 
					
						
							|  |  |  | u16 IO_CONCAT(__IO_PREFIX,inw)(unsigned long); | 
					
						
							|  |  |  | u32 IO_CONCAT(__IO_PREFIX,inl)(unsigned long); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void IO_CONCAT(__IO_PREFIX,outb)(u8, unsigned long); | 
					
						
							|  |  |  | void IO_CONCAT(__IO_PREFIX,outw)(u16, unsigned long); | 
					
						
							|  |  |  | void IO_CONCAT(__IO_PREFIX,outl)(u32, unsigned long); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | u8 IO_CONCAT(__IO_PREFIX,inb_p)(unsigned long); | 
					
						
							|  |  |  | u16 IO_CONCAT(__IO_PREFIX,inw_p)(unsigned long); | 
					
						
							|  |  |  | u32 IO_CONCAT(__IO_PREFIX,inl_p)(unsigned long); | 
					
						
							|  |  |  | void IO_CONCAT(__IO_PREFIX,outb_p)(u8, unsigned long); | 
					
						
							|  |  |  | void IO_CONCAT(__IO_PREFIX,outw_p)(u16, unsigned long); | 
					
						
							|  |  |  | void IO_CONCAT(__IO_PREFIX,outl_p)(u32, unsigned long); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void IO_CONCAT(__IO_PREFIX,insb)(unsigned long, void *dst, unsigned long count); | 
					
						
							|  |  |  | void IO_CONCAT(__IO_PREFIX,insw)(unsigned long, void *dst, unsigned long count); | 
					
						
							|  |  |  | void IO_CONCAT(__IO_PREFIX,insl)(unsigned long, void *dst, unsigned long count); | 
					
						
							|  |  |  | void IO_CONCAT(__IO_PREFIX,outsb)(unsigned long, const void *src, unsigned long count); | 
					
						
							|  |  |  | void IO_CONCAT(__IO_PREFIX,outsw)(unsigned long, const void *src, unsigned long count); | 
					
						
							|  |  |  | void IO_CONCAT(__IO_PREFIX,outsl)(unsigned long, const void *src, unsigned long count); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | u8 IO_CONCAT(__IO_PREFIX,readb)(void __iomem *); | 
					
						
							|  |  |  | u16 IO_CONCAT(__IO_PREFIX,readw)(void __iomem *); | 
					
						
							|  |  |  | u32 IO_CONCAT(__IO_PREFIX,readl)(void __iomem *); | 
					
						
							|  |  |  | void IO_CONCAT(__IO_PREFIX,writeb)(u8, void __iomem *); | 
					
						
							|  |  |  | void IO_CONCAT(__IO_PREFIX,writew)(u16, void __iomem *); | 
					
						
							|  |  |  | void IO_CONCAT(__IO_PREFIX,writel)(u32, void __iomem *); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void *IO_CONCAT(__IO_PREFIX,ioremap)(unsigned long offset, unsigned long size); | 
					
						
							|  |  |  | void IO_CONCAT(__IO_PREFIX,iounmap)(void *addr); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void __iomem *IO_CONCAT(__IO_PREFIX,ioport_map)(unsigned long addr, unsigned int size); | 
					
						
							|  |  |  | void IO_CONCAT(__IO_PREFIX,ioport_unmap)(void __iomem *addr); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #undef __IO_PREFIX
 |