![Paul Mundt](/assets/img/avatar_default.png)
This takes a bit of a sledgehammer to the machvec I/O routines. The iomem case requires no special casing and so can just be dropped outright. This only leaves the ioport casing for PCI and SuperIO mangling. With the SuperIO case going through the standard ioport mapping, it's possible to replace everything with generic routines. With this done the standard I/O routines are tidied up and NO_IOPORT now gets default-enabled for the vast majority of boards. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
19 lines
622 B
C
19 lines
622 B
C
/*
|
|
* 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.
|
|
*/
|
|
#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
|
|
|
|
void __iomem *IO_CONCAT(__IO_PREFIX,ioport_map)(unsigned long addr, unsigned int size);
|
|
void IO_CONCAT(__IO_PREFIX,ioport_unmap)(void __iomem *addr);
|
|
void IO_CONCAT(__IO_PREFIX,mem_init)(void);
|
|
|
|
#undef __IO_PREFIX
|