fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / arch / sh / boards / se / 770x / io.c
index 9a39ee9..9941949 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: io.c,v 1.5 2004/02/22 23:08:43 kkojima Exp $
+/* $Id: io.c,v 1.7 2006/02/05 21:55:29 lethal Exp $
  *
  * linux/arch/sh/kernel/io_se.c
  *
@@ -11,7 +11,7 @@
 #include <linux/kernel.h>
 #include <linux/types.h>
 #include <asm/io.h>
-#include <asm/se/se.h>
+#include <asm/se.h>
 
 /* SH pcmcia io window base, start and end.  */
 int sh_pcic_io_wbase = 0xb8400000;
@@ -20,11 +20,6 @@ int sh_pcic_io_stop;
 int sh_pcic_io_type;
 int sh_pcic_io_dummy;
 
-static inline void delay(void)
-{
-       ctrl_inw(0xa0000000);
-}
-
 /* MS7750 requires special versions of in*, out* routines, since
    PC-like io ports are located at upper half byte of 16-bit word which
    can be accessed only with 16-bit wide.  */
@@ -52,10 +47,6 @@ shifted_port(unsigned long port)
                return 1;
 }
 
-#define maybebadio(name,port) \
-  printk("bad PC-like io %s for port 0x%lx at 0x%08x\n", \
-        #name, (port), (__u32) __builtin_return_address(0))
-
 unsigned char se_inb(unsigned long port)
 {
        if (sh_pcic_io_start <= port && port <= sh_pcic_io_stop)
@@ -76,7 +67,7 @@ unsigned char se_inb_p(unsigned long port)
                v = (*port2adr(port) >> 8); 
        else
                v = (*port2adr(port))&0xff; 
-       delay();
+       ctrl_delay();
        return v;
 }
 
@@ -86,13 +77,13 @@ unsigned short se_inw(unsigned long port)
            (sh_pcic_io_start <= port && port <= sh_pcic_io_stop))
                return *port2adr(port);
        else
-               maybebadio(inw, port);
+               maybebadio(port);
        return 0;
 }
 
 unsigned int se_inl(unsigned long port)
 {
-       maybebadio(inl, port);
+       maybebadio(port);
        return 0;
 }
 
@@ -114,7 +105,7 @@ void se_outb_p(unsigned char value, unsigned long port)
                *(port2adr(port)) = value << 8;
        else
                *(port2adr(port)) = value;
-       delay();
+       ctrl_delay();
 }
 
 void se_outw(unsigned short value, unsigned long port)
@@ -123,12 +114,12 @@ void se_outw(unsigned short value, unsigned long port)
            (sh_pcic_io_start <= port && port <= sh_pcic_io_stop))
                *port2adr(port) = value;
        else
-               maybebadio(outw, port);
+               maybebadio(port);
 }
 
 void se_outl(unsigned int value, unsigned long port)
 {
-       maybebadio(outl, port);
+       maybebadio(port);
 }
 
 void se_insb(unsigned long port, void *addr, unsigned long count)
@@ -159,7 +150,7 @@ void se_insw(unsigned long port, void *addr, unsigned long count)
 
 void se_insl(unsigned long port, void *addr, unsigned long count)
 {
-       maybebadio(insl, port);
+       maybebadio(port);
 }
 
 void se_outsb(unsigned long port, const void *addr, unsigned long count)
@@ -190,37 +181,5 @@ void se_outsw(unsigned long port, const void *addr, unsigned long count)
 
 void se_outsl(unsigned long port, const void *addr, unsigned long count)
 {
-       maybebadio(outsw, port);
-}
-
-/* Map ISA bus address to the real address. Only for PCMCIA.  */
-
-/* ISA page descriptor.  */
-static __u32 sh_isa_memmap[256];
-
-static int
-sh_isa_mmap(__u32 start, __u32 length, __u32 offset)
-{
-       int idx;
-
-       if (start >= 0x100000 || (start & 0xfff) || (length != 0x1000))
-               return -1;
-
-       idx = start >> 12;
-       sh_isa_memmap[idx] = 0xb8000000 + (offset &~ 0xfff);
-#if 0
-       printk("sh_isa_mmap: start %x len %x offset %x (idx %x paddr %x)\n",
-              start, length, offset, idx, sh_isa_memmap[idx]);
-#endif
-       return 0;
-}
-
-unsigned long
-se_isa_port2addr(unsigned long offset)
-{
-       int idx;
-
-       idx = (offset >> 12) & 0xff;
-       offset &= 0xfff;
-       return sh_isa_memmap[idx] + offset;
+       maybebadio(port);
 }