X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fm32r%2Fkernel%2Fio_m32700ut.c;h=371ba904e96860a5f62099020459e639c8ca4c6e;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=501b7558141132f438b44b2db549bbf9e30c264a;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/arch/m32r/kernel/io_m32700ut.c b/arch/m32r/kernel/io_m32700ut.c index 501b75581..371ba904e 100644 --- a/arch/m32r/kernel/io_m32700ut.c +++ b/arch/m32r/kernel/io_m32700ut.c @@ -1,5 +1,5 @@ /* - * linux/arch/m32r/kernel/io_mappi.c + * linux/arch/m32r/kernel/io_m32700ut.c * * Typical I/O routines for M32700UT board. * @@ -9,7 +9,6 @@ * 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. - * */ #include @@ -32,16 +31,16 @@ extern void pcc_iowrite_byte(int, unsigned long, void *, size_t, size_t, int); extern void pcc_iowrite_word(int, unsigned long, void *, size_t, size_t, int); #endif /* CONFIG_PCMCIA && CONFIG_M32R_CFC */ -#define PORT2ADDR(port) _port2addr(port) -#define PORT2ADDR_USB(port) _port2addr_usb(port) +#define PORT2ADDR(port) _port2addr(port) +#define PORT2ADDR_USB(port) _port2addr_usb(port) -static __inline__ void *_port2addr(unsigned long port) +static inline void *_port2addr(unsigned long port) { return (void *)(port + NONCACHE_OFFSET); } #if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC) -static __inline__ void *__port2addr_ata(unsigned long port) +static inline void *__port2addr_ata(unsigned long port) { static int dummy_reg; @@ -67,16 +66,16 @@ static __inline__ void *__port2addr_ata(unsigned long port) */ #define LAN_IOSTART 0x300 #define LAN_IOEND 0x320 -static __inline__ void *_port2addr_ne(unsigned long port) +static inline void *_port2addr_ne(unsigned long port) { return (void *)(port + NONCACHE_OFFSET + 0x10000000); } -static __inline__ void *_port2addr_usb(unsigned long port) +static inline void *_port2addr_usb(unsigned long port) { - return (void *)((port & 0x0f) + NONCACHE_OFFSET + 0x10303000); + return (void *)((port & 0x0f) + NONCACHE_OFFSET + 0x10303000); } -static __inline__ void delay(void) +static inline void delay(void) { __asm__ __volatile__ ("push r0; \n\t pop r0;" : : :"memory"); } @@ -87,29 +86,30 @@ static __inline__ void delay(void) #define PORT2ADDR_NE(port) _port2addr_ne(port) -static __inline__ unsigned char _ne_inb(void *portp) +static inline unsigned char _ne_inb(void *portp) { return *(volatile unsigned char *)portp; } -static __inline__ unsigned short _ne_inw(void *portp) +static inline unsigned short _ne_inw(void *portp) { return (unsigned short)le16_to_cpu(*(volatile unsigned short *)portp); } -static __inline__ void _ne_insb(void *portp, void * addr, unsigned long count) +static inline void _ne_insb(void *portp, void *addr, unsigned long count) { unsigned char *buf = (unsigned char *)addr; - while (count--) *buf++ = _ne_inb(portp); + while (count--) + *buf++ = _ne_inb(portp); } -static __inline__ void _ne_outb(unsigned char b, void *portp) +static inline void _ne_outb(unsigned char b, void *portp) { *(volatile unsigned char *)portp = b; } -static __inline__ void _ne_outw(unsigned short w, void *portp) +static inline void _ne_outw(unsigned short w, void *portp) { *(volatile unsigned short *)portp = cpu_to_le16(w); } @@ -126,9 +126,9 @@ unsigned char _inb(unsigned long port) #endif #if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC) else if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) { - unsigned char b; - pcc_ioread_byte(0, port, &b, sizeof(b), 1, 0); - return b; + unsigned char b; + pcc_ioread_byte(0, port, &b, sizeof(b), 1, 0); + return b; } else #endif @@ -146,13 +146,13 @@ unsigned short _inw(unsigned long port) #endif #if defined(CONFIG_USB) else if(port >= 0x340 && port < 0x3a0) - return *(volatile unsigned short *)PORT2ADDR_USB(port); + return *(volatile unsigned short *)PORT2ADDR_USB(port); #endif #if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC) else if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) { - unsigned short w; - pcc_ioread_word(0, port, &w, sizeof(w), 1, 0); - return w; + unsigned short w; + pcc_ioread_word(0, port, &w, sizeof(w), 1, 0); + return w; } else #endif return *(volatile unsigned short *)PORT2ADDR(port); @@ -162,9 +162,9 @@ unsigned long _inl(unsigned long port) { #if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC) if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) { - unsigned long l; - pcc_ioread_word(0, port, &l, sizeof(l), 1, 0); - return l; + unsigned long l; + pcc_ioread_word(0, port, &l, sizeof(l), 1, 0); + return l; } else #endif return *(volatile unsigned long *)PORT2ADDR(port); @@ -184,9 +184,9 @@ unsigned char _inb_p(unsigned long port) #endif #if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC) if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) { - unsigned char b; - pcc_ioread_byte(0, port, &b, sizeof(b), 1, 0); - return b; + unsigned char b; + pcc_ioread_byte(0, port, &b, sizeof(b), 1, 0); + return b; } else #endif v = *(volatile unsigned char *)PORT2ADDR(port); @@ -208,15 +208,15 @@ unsigned short _inw_p(unsigned long port) } else #endif #if defined(CONFIG_USB) - if(port >= 0x340 && port < 0x3a0) - return *(volatile unsigned short *)PORT2ADDR_USB(port); + if(port >= 0x340 && port < 0x3a0) + return *(volatile unsigned short *)PORT2ADDR_USB(port); else #endif #if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC) if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) { - unsigned short w; - pcc_ioread_word(0, port, &w, sizeof(w), 1, 0); - return w; + unsigned short w; + pcc_ioread_word(0, port, &w, sizeof(w), 1, 0); + return w; } else #endif v = *(volatile unsigned short *)PORT2ADDR(port); @@ -246,7 +246,7 @@ void _outb(unsigned char b, unsigned long port) #endif #if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC) if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) { - pcc_iowrite_byte(0, port, &b, sizeof(b), 1, 0); + pcc_iowrite_byte(0, port, &b, sizeof(b), 1, 0); } else #endif *(volatile unsigned char *)PORT2ADDR(port) = b; @@ -264,12 +264,12 @@ void _outw(unsigned short w, unsigned long port) #endif #if defined(CONFIG_USB) if(port >= 0x340 && port < 0x3a0) - *(volatile unsigned short *)PORT2ADDR_USB(port) = w; + *(volatile unsigned short *)PORT2ADDR_USB(port) = w; else #endif #if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC) if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) { - pcc_iowrite_word(0, port, &w, sizeof(w), 1, 0); + pcc_iowrite_word(0, port, &w, sizeof(w), 1, 0); } else #endif *(volatile unsigned short *)PORT2ADDR(port) = w; @@ -279,7 +279,7 @@ void _outl(unsigned long l, unsigned long port) { #if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC) if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) { - pcc_iowrite_word(0, port, &l, sizeof(l), 1, 0); + pcc_iowrite_word(0, port, &l, sizeof(l), 1, 0); } else #endif *(volatile unsigned long *)PORT2ADDR(port) = l; @@ -297,7 +297,7 @@ void _outb_p(unsigned char b, unsigned long port) #endif #if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC) if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) { - pcc_iowrite_byte(0, port, &b, sizeof(b), 1, 0); + pcc_iowrite_byte(0, port, &b, sizeof(b), 1, 0); } else #endif *(volatile unsigned char *)PORT2ADDR(port) = b; @@ -316,13 +316,13 @@ void _outw_p(unsigned short w, unsigned long port) } else #endif #if defined(CONFIG_USB) - if(port >= 0x340 && port < 0x3a0) - *(volatile unsigned short *)PORT2ADDR_USB(port) = w; + if(port >= 0x340 && port < 0x3a0) + *(volatile unsigned short *)PORT2ADDR_USB(port) = w; else #endif #if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC) if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) { - pcc_iowrite_word(0, port, &w, sizeof(w), 1, 0); + pcc_iowrite_word(0, port, &w, sizeof(w), 1, 0); } else #endif *(volatile unsigned short *)PORT2ADDR(port) = w; @@ -336,7 +336,7 @@ void _outl_p(unsigned long l, unsigned long port) delay(); } -void _insb(unsigned int port, void * addr, unsigned long count) +void _insb(unsigned int port, void *addr, unsigned long count) { if (port >= LAN_IOSTART && port < LAN_IOEND) _ne_insb(PORT2ADDR_NE(port), addr, count); @@ -344,22 +344,25 @@ void _insb(unsigned int port, void * addr, unsigned long count) else if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) { unsigned char *buf = addr; unsigned char *portp = __port2addr_ata(port); - while(count--) *buf++ = *(volatile unsigned char *)portp; + while (count--) + *buf++ = *(volatile unsigned char *)portp; } #endif #if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC) - else if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) { - pcc_ioread_byte(0, port, (void *)addr, sizeof(unsigned char), count, 1); + else if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) { + pcc_ioread_byte(0, port, (void *)addr, sizeof(unsigned char), + count, 1); } #endif else { unsigned char *buf = addr; unsigned char *portp = PORT2ADDR(port); - while(count--) *buf++ = *(volatile unsigned char *)portp; + while (count--) + *buf++ = *(volatile unsigned char *)portp; } } -void _insw(unsigned int port, void * addr, unsigned long count) +void _insw(unsigned int port, void *addr, unsigned long count) { unsigned short *buf = addr; unsigned short *portp; @@ -370,55 +373,64 @@ void _insw(unsigned int port, void * addr, unsigned long count) * from the DATA_REG. Do not swap the data. */ portp = PORT2ADDR_NE(port); - while (count--) *buf++ = *(volatile unsigned short *)portp; + while (count--) + *buf++ = *(volatile unsigned short *)portp; #if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC) } else if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) { - pcc_ioread_word(9, port, (void *)addr, sizeof(unsigned short), count, 1); + pcc_ioread_word(9, port, (void *)addr, sizeof(unsigned short), + count, 1); #endif #if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC) } else if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) { portp = __port2addr_ata(port); - while (count--) *buf++ = *(volatile unsigned short *)portp; + while (count--) + *buf++ = *(volatile unsigned short *)portp; #endif } else { portp = PORT2ADDR(port); - while (count--) *buf++ = *(volatile unsigned short *)portp; + while (count--) + *buf++ = *(volatile unsigned short *)portp; } } -void _insl(unsigned int port, void * addr, unsigned long count) +void _insl(unsigned int port, void *addr, unsigned long count) { unsigned long *buf = addr; unsigned long *portp; portp = PORT2ADDR(port); - while (count--) *buf++ = *(volatile unsigned long *)portp; + while (count--) + *buf++ = *(volatile unsigned long *)portp; } -void _outsb(unsigned int port, const void * addr, unsigned long count) +void _outsb(unsigned int port, const void *addr, unsigned long count) { const unsigned char *buf = addr; unsigned char *portp; if (port >= LAN_IOSTART && port < LAN_IOEND) { portp = PORT2ADDR_NE(port); - while (count--) _ne_outb(*buf++, portp); + while (count--) + _ne_outb(*buf++, portp); #if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC) } else if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) { portp = __port2addr_ata(port); - while(count--) *(volatile unsigned char *)portp = *buf++; + while (count--) + *(volatile unsigned char *)portp = *buf++; #endif #if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC) } else if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) { - pcc_iowrite_byte(0, port, (void *)addr, sizeof(unsigned char), count, 1); + pcc_iowrite_byte(0, port, (void *)addr, sizeof(unsigned char), + count, 1); #endif } else { portp = PORT2ADDR(port); - while(count--) *(volatile unsigned char *)portp = *buf++; + while (count--) + *(volatile unsigned char *)portp = *buf++; } } -void _outsw(unsigned int port, const void * addr, unsigned long count) +void _outsw(unsigned int port, const void *addr, unsigned long count) { const unsigned short *buf = addr; unsigned short *portp; @@ -429,27 +441,32 @@ void _outsw(unsigned int port, const void * addr, unsigned long count) * into the DATA_REG. Do not swap the data. */ portp = PORT2ADDR_NE(port); - while(count--) *(volatile unsigned short *)portp = *buf++; + while (count--) + *(volatile unsigned short *)portp = *buf++; #if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC) } else if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) { portp = __port2addr_ata(port); - while(count--) *(volatile unsigned short *)portp = *buf++; + while (count--) + *(volatile unsigned short *)portp = *buf++; #endif #if defined(CONFIG_PCMCIA) && defined(CONFIG_M32R_CFC) } else if (port >= M32R_PCC_IOSTART0 && port <= M32R_PCC_IOEND0) { - pcc_iowrite_word(9, port, (void *)addr, sizeof(unsigned short), count, 1); + pcc_iowrite_word(9, port, (void *)addr, sizeof(unsigned short), + count, 1); #endif } else { portp = PORT2ADDR(port); - while(count--) *(volatile unsigned short *)portp = *buf++; + while (count--) + *(volatile unsigned short *)portp = *buf++; } } -void _outsl(unsigned int port, const void * addr, unsigned long count) +void _outsl(unsigned int port, const void *addr, unsigned long count) { const unsigned long *buf = addr; unsigned char *portp; portp = PORT2ADDR(port); - while(count--) *(volatile unsigned long *)portp = *buf++; + while (count--) + *(volatile unsigned long *)portp = *buf++; }