-#define vucp volatile unsigned char *
-#define vusp volatile unsigned short *
-#define vip volatile int *
-#define vuip volatile unsigned int *
-#define vulp volatile unsigned long *
-
-__EXTERN_INLINE u8 mcpcia_inb(unsigned long in_addr)
-{
- unsigned long addr, hose, result;
-
- addr = in_addr & 0xffffUL;
- hose = in_addr & ~0xffffUL;
-
- /* ??? I wish I could get rid of this. But there's no ioremap
- equivalent for I/O space. PCI I/O can be forced into the
- correct hose's I/O region, but that doesn't take care of
- legacy ISA crap. */
- hose += MCPCIA_IO_BIAS;
-
- result = *(vip) ((addr << 5) + hose + 0x00);
- return __kernel_extbl(result, addr & 3);
-}
-
-__EXTERN_INLINE void mcpcia_outb(u8 b, unsigned long in_addr)
-{
- unsigned long addr, hose, w;
-
- addr = in_addr & 0xffffUL;
- hose = in_addr & ~0xffffUL;
- hose += MCPCIA_IO_BIAS;
-
- w = __kernel_insbl(b, addr & 3);
- *(vuip) ((addr << 5) + hose + 0x00) = w;
- mb();
-}
-
-__EXTERN_INLINE u16 mcpcia_inw(unsigned long in_addr)
-{
- unsigned long addr, hose, result;
-
- addr = in_addr & 0xffffUL;
- hose = in_addr & ~0xffffUL;
- hose += MCPCIA_IO_BIAS;
-
- result = *(vip) ((addr << 5) + hose + 0x08);
- return __kernel_extwl(result, addr & 3);
-}
-
-__EXTERN_INLINE void mcpcia_outw(u16 b, unsigned long in_addr)
-{
- unsigned long addr, hose, w;
-
- addr = in_addr & 0xffffUL;
- hose = in_addr & ~0xffffUL;
- hose += MCPCIA_IO_BIAS;
-
- w = __kernel_inswl(b, addr & 3);
- *(vuip) ((addr << 5) + hose + 0x08) = w;
- mb();
-}
-
-__EXTERN_INLINE u32 mcpcia_inl(unsigned long in_addr)
-{
- unsigned long addr, hose;
-
- addr = in_addr & 0xffffUL;
- hose = in_addr & ~0xffffUL;
- hose += MCPCIA_IO_BIAS;
-
- return *(vuip) ((addr << 5) + hose + 0x18);
-}
-
-__EXTERN_INLINE void mcpcia_outl(u32 b, unsigned long in_addr)
-{
- unsigned long addr, hose;
-
- addr = in_addr & 0xffffUL;
- hose = in_addr & ~0xffffUL;
- hose += MCPCIA_IO_BIAS;
-
- *(vuip) ((addr << 5) + hose + 0x18) = b;
- mb();
-}
-
-