From: NIIBE Y. <gn...@ch...> - 2000-11-11 05:37:13
|
It's better to have I/O functions API as same as 386 versions for better use of drivers. I tried to clean up I/O functions API. Here's the patch. Since we've already abused the meaning of the PORT and some port (SolutionEngine and HP6xx) requires more spaces than 16-bit, I leave port-type as "unsigned long". Except this, we have almost same API. 2000-11-11 NIIBE Yutaka <gn...@m1...> * arch/sh/kernel/io.c, arch/sh/kernel/io_generic.c, arch/sh/kernel/io_hd64461.c, arch/sh/kernel/io_hd64465.c, arch/sh/kernel/io_se.c, arch/sh/kernel/setup_hd64461.c, arch/sh/overdrive/io.c, include/asm-sh/io.h, include/asm-sh/io_generic.h, include/asm-sh/io_hd64461.h, include/asm-sh/io_hd64465.h, include/asm-sh/io_od.h, include/asm-sh/io_se.h, include/asm-sh/io_unknown.h, include/asm-sh/machvec.h: Clean up the API. arch/sh/kernel/process.c: Follow the change of I/O func. Index: arch/sh/kernel/io.c =================================================================== RCS file: /cvsroot/linuxsh/kernel/arch/sh/kernel/io.c,v retrieving revision 1.3 diff -u -3 -p -r1.3 io.c --- arch/sh/kernel/io.c 2000/10/16 05:03:30 1.3 +++ arch/sh/kernel/io.c 2000/11/11 05:25:56 @@ -10,13 +10,13 @@ #include <asm/io.h> #include <linux/module.h> -unsigned int _inb(unsigned long port) +unsigned char _inb(unsigned long port) { return __inb(port); } EXPORT_SYMBOL(_inb); -unsigned int _inw(unsigned long port) +unsigned short _inw(unsigned long port) { return __inw(port); } @@ -48,13 +48,13 @@ void _outl(unsigned int b, unsigned long EXPORT_SYMBOL(_outl); -unsigned int _inb_p(unsigned long port) +unsigned char _inb_p(unsigned long port) { return __inb_p(port); } EXPORT_SYMBOL(_inb_p); -unsigned int _inw_p(unsigned long port) +unsigned short _inw_p(unsigned long port) { return __inw_p(port); } @@ -110,25 +110,25 @@ void _outsl(unsigned long port, const vo } EXPORT_SYMBOL(_outsl); -unsigned long ___raw_readb(unsigned long addr) +unsigned char ___raw_readb(unsigned long addr) { return __readb(addr); } EXPORT_SYMBOL(___raw_readb); -unsigned long ___raw_readw(unsigned long addr) +unsigned short ___raw_readw(unsigned long addr) { return __readw(addr); } EXPORT_SYMBOL(___raw_readw); -unsigned long ___raw_readl(unsigned long addr) +unsigned int ___raw_readl(unsigned long addr) { return __readl(addr); } EXPORT_SYMBOL(___raw_readl); -unsigned long _readb(unsigned long addr) +unsigned char _readb(unsigned long addr) { unsigned long r = __readb(addr); mb(); @@ -136,7 +136,7 @@ unsigned long _readb(unsigned long addr) } EXPORT_SYMBOL(_readb); -unsigned long _readw(unsigned long addr) +unsigned short _readw(unsigned long addr) { unsigned long r = __readw(addr); mb(); @@ -144,7 +144,7 @@ unsigned long _readw(unsigned long addr) } EXPORT_SYMBOL(_readw); -unsigned long _readl(unsigned long addr) +unsigned int _readl(unsigned long addr) { unsigned long r = __readl(addr); mb(); Index: arch/sh/kernel/io_generic.c =================================================================== RCS file: /cvsroot/linuxsh/kernel/arch/sh/kernel/io_generic.c,v retrieving revision 1.10 diff -u -3 -p -r1.10 io_generic.c --- arch/sh/kernel/io_generic.c 2000/10/27 02:36:06 1.10 +++ arch/sh/kernel/io_generic.c 2000/11/11 05:25:57 @@ -32,22 +32,22 @@ static inline void delay(void) ctrl_inw(0xa0000000); } -unsigned long generic_inb(unsigned int port) +unsigned char generic_inb(unsigned long port) { return *(volatile unsigned char*)PORT2ADDR(port); } -unsigned long generic_inw(unsigned int port) +unsigned short generic_inw(unsigned long port) { return *(volatile unsigned short*)PORT2ADDR(port); } -unsigned long generic_inl(unsigned int port) +unsigned int generic_inl(unsigned long port) { return *(volatile unsigned long*)PORT2ADDR(port); } -unsigned long generic_inb_p(unsigned int port) +unsigned char generic_inb_p(unsigned long port) { unsigned long v = *(volatile unsigned char*)PORT2ADDR(port); @@ -55,7 +55,7 @@ unsigned long generic_inb_p(unsigned int return v; } -unsigned long generic_inw_p(unsigned int port) +unsigned short generic_inw_p(unsigned long port) { unsigned long v = *(volatile unsigned short*)PORT2ADDR(port); @@ -63,7 +63,7 @@ unsigned long generic_inw_p(unsigned int return v; } -unsigned long generic_inl_p(unsigned int port) +unsigned int generic_inl_p(unsigned long port) { unsigned long v = *(volatile unsigned long*)PORT2ADDR(port); @@ -71,13 +71,13 @@ unsigned long generic_inl_p(unsigned int return v; } -void generic_insb(unsigned int port, void *buffer, unsigned long count) +void generic_insb(unsigned long port, void *buffer, unsigned long count) { unsigned char *buf=buffer; while(count--) *buf++=inb(port); } -void generic_insw(unsigned int port, void *buffer, unsigned long count) +void generic_insw(unsigned long port, void *buffer, unsigned long count) { unsigned short *buf=buffer; while(count--) *buf++=inw(port); @@ -86,7 +86,7 @@ void generic_insw(unsigned int port, voi #endif } -void generic_insl(unsigned int port, void *buffer, unsigned long count) +void generic_insl(unsigned long port, void *buffer, unsigned long count) { unsigned long *buf=buffer; while(count--) *buf++=inl(port); @@ -95,46 +95,46 @@ void generic_insl(unsigned int port, voi #endif } -void generic_outb(unsigned long b, unsigned int port) +void generic_outb(unsigned char b, unsigned long port) { *(volatile unsigned char*)PORT2ADDR(port) = b; } -void generic_outw(unsigned long b, unsigned int port) +void generic_outw(unsigned short b, unsigned long port) { *(volatile unsigned short*)PORT2ADDR(port) = b; } -void generic_outl(unsigned long b, unsigned int port) +void generic_outl(unsigned int b, unsigned long port) { *(volatile unsigned long*)PORT2ADDR(port) = b; } -void generic_outb_p(unsigned long b, unsigned int port) +void generic_outb_p(unsigned char b, unsigned long port) { *(volatile unsigned char*)PORT2ADDR(port) = b; delay(); } -void generic_outw_p(unsigned long b, unsigned int port) +void generic_outw_p(unsigned short b, unsigned long port) { *(volatile unsigned short*)PORT2ADDR(port) = b; delay(); } -void generic_outl_p(unsigned long b, unsigned int port) +void generic_outl_p(unsigned int b, unsigned long port) { *(volatile unsigned long*)PORT2ADDR(port) = b; delay(); } -void generic_outsb(unsigned int port, const void *buffer, unsigned long count) +void generic_outsb(unsigned long port, const void *buffer, unsigned long count) { const unsigned char *buf=buffer; while(count--) outb(*buf++, port); } -void generic_outsw(unsigned int port, const void *buffer, unsigned long count) +void generic_outsw(unsigned long port, const void *buffer, unsigned long count) { const unsigned short *buf=buffer; while(count--) outw(*buf++, port); @@ -143,7 +143,7 @@ void generic_outsw(unsigned int port, co #endif } -void generic_outsl(unsigned int port, const void *buffer, unsigned long count) +void generic_outsl(unsigned long port, const void *buffer, unsigned long count) { const unsigned long *buf=buffer; while(count--) outl(*buf++, port); @@ -193,7 +193,7 @@ void generic_iounmap(void *addr) } EXPORT_SYMBOL(generic_iounmap); -unsigned long generic_isa_port2addr(unsigned long offset) +unsigned long generic_isa_port2addr(unsigned short offset) { return offset + generic_io_base; } Index: arch/sh/kernel/io_hd64461.c =================================================================== RCS file: /cvsroot/linuxsh/kernel/arch/sh/kernel/io_hd64461.c,v retrieving revision 1.4 diff -u -3 -p -r1.4 io_hd64461.c --- arch/sh/kernel/io_hd64461.c 2000/08/01 01:43:05 1.4 +++ arch/sh/kernel/io_hd64461.c 2000/11/11 05:25:57 @@ -50,80 +50,80 @@ static inline void delay(void) ctrl_inw(0xa0000000); } -unsigned long hd64461_inb(unsigned int port) +unsigned char hd64461_inb(unsigned long port) { return *(volatile unsigned char*)PORT2ADDR(port); } -unsigned long hd64461_inb_p(unsigned int port) +unsigned char hd64461_inb_p(unsigned long port) { unsigned long v = *(volatile unsigned char*)PORT2ADDR(port); delay(); return v; } -unsigned long hd64461_inw(unsigned int port) +unsigned short hd64461_inw(unsigned long port) { return *(volatile unsigned short*)PORT2ADDR(port); } -unsigned long hd64461_inl(unsigned int port) +unsigned int hd64461_inl(unsigned long port) { return *(volatile unsigned long*)PORT2ADDR(port); } -void hd64461_insb(unsigned int port, void *buffer, unsigned long count) +void hd64461_insb(unsigned long port, void *buffer, unsigned long count) { unsigned char *buf=buffer; while(count--) *buf++=inb(port); } -void hd64461_insw(unsigned int port, void *buffer, unsigned long count) +void hd64461_insw(unsigned long port, void *buffer, unsigned long count) { unsigned short *buf=buffer; while(count--) *buf++=inw(port); } -void hd64461_insl(unsigned int port, void *buffer, unsigned long count) +void hd64461_insl(unsigned long port, void *buffer, unsigned long count) { unsigned long *buf=buffer; while(count--) *buf++=inl(port); } -void hd64461_outb(unsigned long b, unsigned int port) +void hd64461_outb(unsigned char b, unsigned long port) { *(volatile unsigned char*)PORT2ADDR(port) = b; } -void hd64461_outb_p(unsigned long b, unsigned int port) +void hd64461_outb_p(unsigned char b, unsigned long port) { *(volatile unsigned char*)PORT2ADDR(port) = b; delay(); } -void hd64461_outw(unsigned long b, unsigned int port) +void hd64461_outw(unsigned short b, unsigned long port) { *(volatile unsigned short*)PORT2ADDR(port) = b; } -void hd64461_outl(unsigned long b, unsigned int port) +void hd64461_outl(unsigned int b, unsigned long port) { *(volatile unsigned long*)PORT2ADDR(port) = b; } -void hd64461_outsb(unsigned int port, const void *buffer, unsigned long count) +void hd64461_outsb(unsigned long port, const void *buffer, unsigned long count) { const unsigned char *buf=buffer; while(count--) outb(*buf++, port); } -void hd64461_outsw(unsigned int port, const void *buffer, unsigned long count) +void hd64461_outsw(unsigned long port, const void *buffer, unsigned long count) { const unsigned short *buf=buffer; while(count--) outw(*buf++, port); } -void hd64461_outsl(unsigned int port, const void *buffer, unsigned long count) +void hd64461_outsl(unsigned long port, const void *buffer, unsigned long count) { const unsigned long *buf=buffer; while(count--) outl(*buf++, port); Index: arch/sh/kernel/io_hd64465.c =================================================================== RCS file: /cvsroot/linuxsh/kernel/arch/sh/kernel/io_hd64465.c,v retrieving revision 1.1 diff -u -3 -p -r1.1 io_hd64465.c --- arch/sh/kernel/io_hd64465.c 2000/10/12 07:29:21 1.1 +++ arch/sh/kernel/io_hd64465.c 2000/11/11 05:25:57 @@ -133,7 +133,7 @@ static inline void delay(void) ctrl_inw(0xa0000000); } -unsigned long hd64465_inb(unsigned int port) +unsigned char hd64465_inb(unsigned long port) { unsigned long addr = PORT2ADDR(port); unsigned long b = (addr == 0 ? 0 : *(volatile unsigned char*)addr); @@ -142,7 +142,7 @@ unsigned long hd64465_inb(unsigned int p return b; } -unsigned long hd64465_inb_p(unsigned int port) +unsigned char hd64465_inb_p(unsigned long port) { unsigned long v; unsigned long addr = PORT2ADDR(port); @@ -153,7 +153,7 @@ unsigned long hd64465_inb_p(unsigned int return v; } -unsigned long hd64465_inw(unsigned int port) +unsigned short hd64465_inw(unsigned long port) { unsigned long addr = PORT2ADDR(port); unsigned long b = (addr == 0 ? 0 : *(volatile unsigned short*)addr); @@ -161,31 +161,31 @@ unsigned long hd64465_inw(unsigned int p return b; } -unsigned long hd64465_inl(unsigned int port) +unsigned int hd64465_inl(unsigned long port) { unsigned long addr = PORT2ADDR(port); return (addr == 0 ? 0 : *(volatile unsigned long*)addr); } -void hd64465_insb(unsigned int port, void *buffer, unsigned long count) +void hd64465_insb(unsigned long port, void *buffer, unsigned long count) { unsigned char *buf=buffer; while(count--) *buf++=inb(port); } -void hd64465_insw(unsigned int port, void *buffer, unsigned long count) +void hd64465_insw(unsigned long port, void *buffer, unsigned long count) { unsigned short *buf=buffer; while(count--) *buf++=inw(port); } -void hd64465_insl(unsigned int port, void *buffer, unsigned long count) +void hd64465_insl(unsigned long port, void *buffer, unsigned long count) { unsigned long *buf=buffer; while(count--) *buf++=inl(port); } -void hd64465_outb(unsigned long b, unsigned int port) +void hd64465_outb(unsigned char b, unsigned long port) { unsigned long addr = PORT2ADDR(port); @@ -194,7 +194,7 @@ void hd64465_outb(unsigned long b, unsig *(volatile unsigned char*)addr = b; } -void hd64465_outb_p(unsigned long b, unsigned int port) +void hd64465_outb_p(unsigned char b, unsigned long port) { unsigned long addr = PORT2ADDR(port); @@ -204,7 +204,7 @@ void hd64465_outb_p(unsigned long b, uns delay(); } -void hd64465_outw(unsigned long b, unsigned int port) +void hd64465_outw(unsigned short b, unsigned long port) { unsigned long addr = PORT2ADDR(port); DIPRINTK(0, "outw(%04lx, %08lx)\n", b, addr); @@ -212,26 +212,26 @@ void hd64465_outw(unsigned long b, unsig *(volatile unsigned short*)addr = b; } -void hd64465_outl(unsigned long b, unsigned int port) +void hd64465_outl(unsigned int b, unsigned long port) { unsigned long addr = PORT2ADDR(port); if (addr != 0); *(volatile unsigned long*)addr = b; } -void hd64465_outsb(unsigned int port, const void *buffer, unsigned long count) +void hd64465_outsb(unsigned long port, const void *buffer, unsigned long count) { const unsigned char *buf=buffer; while(count--) outb(*buf++, port); } -void hd64465_outsw(unsigned int port, const void *buffer, unsigned long count) +void hd64465_outsw(unsigned long port, const void *buffer, unsigned long count) { const unsigned short *buf=buffer; while(count--) outw(*buf++, port); } -void hd64465_outsl(unsigned int port, const void *buffer, unsigned long count) +void hd64465_outsl(unsigned long port, const void *buffer, unsigned long count) { const unsigned long *buf=buffer; while(count--) outl(*buf++, port); Index: arch/sh/kernel/io_se.c =================================================================== RCS file: /cvsroot/linuxsh/kernel/arch/sh/kernel/io_se.c,v retrieving revision 1.7 diff -u -3 -p -r1.7 io_se.c --- arch/sh/kernel/io_se.c 2000/07/31 12:25:56 1.7 +++ arch/sh/kernel/io_se.c 2000/11/11 05:25:57 @@ -43,7 +43,7 @@ port2adr(unsigned int port) } static inline int -shifted_port(unsigned int port) +shifted_port(unsigned long port) { /* For IDE registers, value is not shifted */ if ((0x1f0 <= port && port < 0x1f8) || port == 0x3f6) @@ -53,10 +53,10 @@ shifted_port(unsigned int port) } #define maybebadio(name,port) \ - printk("bad PC-like io %s for port 0x%x at 0x%08x\n", \ + printk("bad PC-like io %s for port 0x%lx at 0x%08x\n", \ #name, (port), (__u32) __builtin_return_address(0)) -unsigned long se_inb(unsigned int port) +unsigned char se_inb(unsigned long port) { if (sh_pcic_io_start <= port && port <= sh_pcic_io_stop) return *(__u8 *) (sh_pcic_io_wbase + 0x40000 + port); @@ -66,7 +66,7 @@ unsigned long se_inb(unsigned int port) return (*port2adr(port))&0xff; } -unsigned long se_inb_p(unsigned int port) +unsigned char se_inb_p(unsigned long port) { unsigned long v; @@ -80,7 +80,7 @@ unsigned long se_inb_p(unsigned int port return v; } -unsigned long se_inw(unsigned int port) +unsigned short se_inw(unsigned long port) { if (port >= 0x2000 || (sh_pcic_io_start <= port && port <= sh_pcic_io_stop)) @@ -90,13 +90,13 @@ unsigned long se_inw(unsigned int port) return 0; } -unsigned long se_inl(unsigned int port) +unsigned int se_inl(unsigned long port) { maybebadio(inl, port); return 0; } -void se_outb(unsigned long value, unsigned int port) +void se_outb(unsigned char value, unsigned long port) { if (sh_pcic_io_start <= port && port <= sh_pcic_io_stop) *(__u8 *)(sh_pcic_io_wbase + port) = value; @@ -106,7 +106,7 @@ void se_outb(unsigned long value, unsign *(port2adr(port)) = value; } -void se_outb_p(unsigned long value, unsigned int port) +void se_outb_p(unsigned char value, unsigned long port) { if (sh_pcic_io_start <= port && port <= sh_pcic_io_stop) *(__u8 *)(sh_pcic_io_wbase + port) = value; @@ -117,7 +117,7 @@ void se_outb_p(unsigned long value, unsi delay(); } -void se_outw(unsigned long value, unsigned int port) +void se_outw(unsigned short value, unsigned long port) { if (port >= 0x2000 || (sh_pcic_io_start <= port && port <= sh_pcic_io_stop)) @@ -126,12 +126,12 @@ void se_outw(unsigned long value, unsign maybebadio(outw, port); } -void se_outl(unsigned long value, unsigned int port) +void se_outl(unsigned int value, unsigned long port) { maybebadio(outl, port); } -void se_insb(unsigned int port, void *addr, unsigned long count) +void se_insb(unsigned long port, void *addr, unsigned long count) { volatile __u16 *p = port2adr(port); @@ -148,19 +148,19 @@ void se_insb(unsigned int port, void *ad } } -void se_insw(unsigned int port, void *addr, unsigned long count) +void se_insw(unsigned long port, void *addr, unsigned long count) { volatile __u16 *p = port2adr(port); while (count--) *((__u16 *) addr)++ = *p; } -void se_insl(unsigned int port, void *addr, unsigned long count) +void se_insl(unsigned long port, void *addr, unsigned long count) { maybebadio(insl, port); } -void se_outsb(unsigned int port, const void *addr, unsigned long count) +void se_outsb(unsigned long port, const void *addr, unsigned long count) { volatile __u16 *p = port2adr(port); @@ -177,29 +177,29 @@ void se_outsb(unsigned int port, const v } } -void se_outsw(unsigned int port, const void *addr, unsigned long count) +void se_outsw(unsigned long port, const void *addr, unsigned long count) { volatile __u16 *p = port2adr(port); while (count--) *p = *((__u16 *) addr)++; } -void se_outsl(unsigned int port, const void *addr, unsigned long count) +void se_outsl(unsigned long port, const void *addr, unsigned long count) { maybebadio(outsw, port); } -unsigned long se_readb(unsigned long addr) +unsigned char se_readb(unsigned long addr) { return *(volatile unsigned char*)addr; } -unsigned long se_readw(unsigned long addr) +unsigned short se_readw(unsigned long addr) { return *(volatile unsigned short*)addr; } -unsigned long se_readl(unsigned long addr) +unsigned int se_readl(unsigned long addr) { return *(volatile unsigned long*)addr; } Index: arch/sh/kernel/process.c =================================================================== RCS file: /cvsroot/linuxsh/kernel/arch/sh/kernel/process.c,v retrieving revision 1.15 diff -u -3 -p -r1.15 process.c --- arch/sh/kernel/process.c 2000/11/11 01:10:25 1.15 +++ arch/sh/kernel/process.c 2000/11/11 05:25:57 @@ -93,7 +93,7 @@ void machine_power_off(void) void show_regs(struct pt_regs * regs) { printk("\n"); - printk("PC : %08lx SP : %08lx SR : %08lx TEA : %08lx\n", + printk("PC : %08lx SP : %08lx SR : %08lx TEA : %08x\n", regs->pc, regs->regs[15], regs->sr, ctrl_inl(MMU_TEA)); printk("R0 : %08lx R1 : %08lx R2 : %08lx R3 : %08lx\n", regs->regs[0],regs->regs[1], Index: arch/sh/kernel/setup_hd64461.c =================================================================== RCS file: /cvsroot/linuxsh/kernel/arch/sh/kernel/setup_hd64461.c,v retrieving revision 1.5 diff -u -3 -p -r1.5 setup_hd64461.c --- arch/sh/kernel/setup_hd64461.c 2000/11/03 12:30:47 1.5 +++ arch/sh/kernel/setup_hd64461.c 2000/11/11 05:25:57 @@ -88,7 +88,7 @@ static struct hw_interrupt_type hd64461_ static void hd64461_interrupt(int irq, void *dev_id, struct pt_regs *regs) { printk(KERN_INFO - "HD64461: spurious interrupt, nirr: 0x%lx nimr: 0x%lx\n", + "HD64461: spurious interrupt, nirr: 0x%x nimr: 0x%x\n", inw(HD64461_NIRR), inw(HD64461_NIMR)); } cvs server: Diffing arch/sh/lib cvs server: Diffing arch/sh/mm cvs server: Diffing arch/sh/overdrive Index: arch/sh/overdrive/io.c =================================================================== RCS file: /cvsroot/linuxsh/kernel/arch/sh/overdrive/io.c,v retrieving revision 1.2 diff -u -3 -p -r1.2 io.c --- arch/sh/overdrive/io.c 2000/08/01 03:18:38 1.2 +++ arch/sh/overdrive/io.c 2000/11/11 05:25:57 @@ -30,38 +30,38 @@ #define io_addr(x) (((unsigned)(x))|PCI_GTIO_BASE) -unsigned long od_inb(unsigned int port) +unsigned char od_inb(unsigned long port) { dprintk("od_inb(%x)\n", port); return readb(io_addr(port)) & 0xff; } -unsigned long od_inw(unsigned int port) +unsigned short od_inw(unsigned long port) { dprintk("od_inw(%x)\n", port); return readw(io_addr(port)) & 0xffff; } -unsigned long od_inl(unsigned int port) +unsigned int od_inl(unsigned long port) { dprintk("od_inl(%x)\n", port); return readl(io_addr(port)); } -void od_outb(unsigned long value, unsigned int port) +void od_outb(unsigned char value, unsigned long port) { dprintk("od_outb(%x, %x)\n", value, port); writeb(value, io_addr(port)); } -void od_outw(unsigned long value, unsigned int port) +void od_outw(unsigned short value, unsigned long port) { dprintk("od_outw(%x, %x)\n", value, port); writew(value, io_addr(port)); } -void od_outl(unsigned long value, unsigned int port) +void od_outl(unsigned int value, unsigned long port) { dprintk("od_outl(%x, %x)\n", value, port); writel(value, io_addr(port)); @@ -71,10 +71,10 @@ dprintk("od_outl(%x, %x)\n", value, port #define IO_DELAY() udelay(10) #define OUT_DELAY(x) \ -void od_out##x##_p(unsigned long value,unsigned int port){out##x(value,port);IO_DELAY();} +void od_out##x##_p(unsigned long value,unsigned long port){out##x(value,port);IO_DELAY();} #define IN_DELAY(x) \ -unsigned long od_in##x##_p(unsigned int port) {unsigned long tmp=in##x(port);IO_DELAY();return tmp;} +unsigned long od_in##x##_p(unsigned long port) {unsigned long tmp=in##x(port);IO_DELAY();return tmp;} OUT_DELAY(b) @@ -87,7 +87,7 @@ IN_DELAY(l) /* Now for the string version of these functions */ -void od_outsb(unsigned port, const void *addr, unsigned long count) +void od_outsb(unsigned long port, const void *addr, unsigned long count) { int i; unsigned char *p = (unsigned char *) addr; @@ -98,7 +98,7 @@ void od_outsb(unsigned port, const void } -void od_insb(unsigned port, void *addr, unsigned long count) +void od_insb(unsigned long port, void *addr, unsigned long count) { int i; unsigned char *p = (unsigned char *) addr; @@ -115,7 +115,7 @@ void od_insb(unsigned port, void *addr, * is aligned */ -void od_outsw(unsigned port, const void *addr, unsigned long count) +void od_outsw(unsigned long port, const void *addr, unsigned long count) { int i; unsigned short tmp; @@ -128,7 +128,7 @@ void od_outsw(unsigned port, const void } -void od_insw(unsigned port, void *addr, unsigned long count) +void od_insw(unsigned long port, void *addr, unsigned long count) { int i; unsigned short tmp; @@ -142,7 +142,7 @@ void od_insw(unsigned port, void *addr, } -void od_outsl(unsigned port, const void *addr, unsigned long count) +void od_outsl(unsigned long port, const void *addr, unsigned long count) { int i; unsigned tmp; @@ -156,7 +156,7 @@ void od_outsl(unsigned port, const void } -void od_insl(unsigned port, void *addr, unsigned long count) +void od_insl(unsigned long port, void *addr, unsigned long count) { int i; unsigned tmp; Index: include/asm-sh/io.h =================================================================== RCS file: /cvsroot/linuxsh/kernel/include/asm-sh/io.h,v retrieving revision 1.11 diff -u -3 -p -r1.11 io.h --- include/asm-sh/io.h 2000/11/11 02:15:02 1.11 +++ include/asm-sh/io.h 2000/11/11 05:25:58 @@ -127,40 +127,38 @@ #endif /* __KERNEL__ */ /* These are always function calls, in both kernel and user space */ -extern unsigned int _inb (unsigned long port); -extern unsigned int _inw (unsigned long port); +extern unsigned char _inb (unsigned long port); +extern unsigned short _inw (unsigned long port); extern unsigned int _inl (unsigned long port); -extern void _outb (unsigned char b,unsigned long port); -extern void _outw (unsigned short w,unsigned long port); -extern void _outl (unsigned int l,unsigned long port); -extern unsigned int _inb_p (unsigned long port); -extern unsigned int _inw_p (unsigned long port); +extern void _outb (unsigned char b, unsigned long port); +extern void _outw (unsigned short w, unsigned long port); +extern void _outl (unsigned int l, unsigned long port); +extern unsigned char _inb_p (unsigned long port); +extern unsigned short _inw_p (unsigned long port); extern unsigned int _inl_p (unsigned long port); -extern void _outb_p (unsigned char b,unsigned long port); -extern void _outw_p (unsigned short w,unsigned long port); -extern void _outl_p (unsigned int l,unsigned long port); +extern void _outb_p (unsigned char b, unsigned long port); +extern void _outw_p (unsigned short w, unsigned long port); +extern void _outl_p (unsigned int l, unsigned long port); extern void _insb (unsigned long port, void *dst, unsigned long count); extern void _insw (unsigned long port, void *dst, unsigned long count); extern void _insl (unsigned long port, void *dst, unsigned long count); extern void _outsb (unsigned long port, const void *src, unsigned long count); extern void _outsw (unsigned long port, const void *src, unsigned long count); extern void _outsl (unsigned long port, const void *src, unsigned long count); -extern unsigned long _readb(unsigned long addr); -extern unsigned long _readw(unsigned long addr); -extern unsigned long _readl(unsigned long addr); +extern unsigned char _readb(unsigned long addr); +extern unsigned short _readw(unsigned long addr); +extern unsigned int _readl(unsigned long addr); extern void _writeb(unsigned char b, unsigned long addr); extern void _writew(unsigned short b, unsigned long addr); extern void _writel(unsigned int b, unsigned long addr); #ifdef __KERNEL__ -extern unsigned long ___raw_readb(unsigned long addr); -extern unsigned long ___raw_readw(unsigned long addr); -extern unsigned long ___raw_readl(unsigned long addr); -extern unsigned long ___raw_readq(unsigned long addr); +extern unsigned char ___raw_readb(unsigned long addr); +extern unsigned short ___raw_readw(unsigned long addr); +extern unsigned int ___raw_readl(unsigned long addr); extern void ___raw_writeb(unsigned char b, unsigned long addr); extern void ___raw_writew(unsigned short b, unsigned long addr); extern void ___raw_writel(unsigned int b, unsigned long addr); -extern void ___raw_writeq(unsigned long b, unsigned long addr); #endif #ifdef __KERNEL__ @@ -292,20 +290,20 @@ extern void ___raw_writeq(unsigned long /* Userspace declarations. */ -extern unsigned int inb(unsigned long port); -extern unsigned int inw(unsigned long port); +extern unsigned char inb(unsigned long port); +extern unsigned short inw(unsigned long port); extern unsigned int inl(unsigned long port); -extern void outb(unsigned char b,unsigned long port); -extern void outw(unsigned short w,unsigned long port); -extern void outl(unsigned int l,unsigned long port); -extern void insb (unsigned long port, void *dst, unsigned long count); -extern void insw (unsigned long port, void *dst, unsigned long count); -extern void insl (unsigned long port, void *dst, unsigned long count); -extern void outsb (unsigned long port, const void *src, unsigned long count); -extern void outsw (unsigned long port, const void *src, unsigned long count); -extern void outsl (unsigned long port, const void *src, unsigned long count); -extern unsigned long readb(unsigned long addr); -extern unsigned long readw(unsigned long addr); +extern void outb(unsigned char b, unsigned long port); +extern void outw(unsigned short w, unsigned long port); +extern void outl(unsigned int l, unsigned long port); +extern void insb(unsigned long port, void *dst, unsigned long count); +extern void insw(unsigned long port, void *dst, unsigned long count); +extern void insl(unsigned long port, void *dst, unsigned long count); +extern void outsb(unsigned long port, const void *src, unsigned long count); +extern void outsw(unsigned long port, const void *src, unsigned long count); +extern void outsl(unsigned long port, const void *src, unsigned long count); +extern unsigned char readb(unsigned long addr); +extern unsigned short readw(unsigned long addr); extern unsigned long readl(unsigned long addr); extern void writeb(unsigned char b, unsigned long addr); extern void writew(unsigned short b, unsigned long addr); @@ -343,17 +341,17 @@ extern void memcpy_toio(unsigned long, c extern void memset_io(unsigned long, int, unsigned long); /* SuperH on-chip I/O functions */ -extern __inline__ unsigned long ctrl_inb(unsigned long addr) +extern __inline__ unsigned char ctrl_inb(unsigned long addr) { return *(volatile unsigned char*)addr; } -extern __inline__ unsigned long ctrl_inw(unsigned long addr) +extern __inline__ unsigned short ctrl_inw(unsigned long addr) { return *(volatile unsigned short*)addr; } -extern __inline__ unsigned long ctrl_inl(unsigned long addr) +extern __inline__ unsigned int ctrl_inl(unsigned long addr) { return *(volatile unsigned long*)addr; } Index: include/asm-sh/io_generic.h =================================================================== RCS file: /cvsroot/linuxsh/kernel/include/asm-sh/io_generic.h,v retrieving revision 1.4 diff -u -3 -p -r1.4 io_generic.h --- include/asm-sh/io_generic.h 2000/10/27 02:36:07 1.4 +++ include/asm-sh/io_generic.h 2000/11/11 05:25:59 @@ -14,31 +14,31 @@ extern unsigned long generic_io_base; -extern unsigned long generic_inb(unsigned int port); -extern unsigned long generic_inw(unsigned int port); -extern unsigned long generic_inl(unsigned int port); +extern unsigned char generic_inb(unsigned long port); +extern unsigned short generic_inw(unsigned long port); +extern unsigned int generic_inl(unsigned long port); -extern void generic_outb(unsigned long value, unsigned int port); -extern void generic_outw(unsigned long value, unsigned int port); -extern void generic_outl(unsigned long value, unsigned int port); +extern void generic_outb(unsigned char value, unsigned long port); +extern void generic_outw(unsigned short value, unsigned long port); +extern void generic_outl(unsigned int value, unsigned long port); -extern unsigned long generic_inb_p(unsigned int port); -extern unsigned long generic_inw_p(unsigned int port); -extern unsigned long generic_inl_p(unsigned int port); -extern void generic_outb_p(unsigned long value, unsigned int port); -extern void generic_outw_p(unsigned long value, unsigned int port); -extern void generic_outl_p(unsigned long value, unsigned int port); +extern unsigned char generic_inb_p(unsigned long port); +extern unsigned short generic_inw_p(unsigned long port); +extern unsigned int generic_inl_p(unsigned long port); +extern void generic_outb_p(unsigned char value, unsigned long port); +extern void generic_outw_p(unsigned short value, unsigned long port); +extern void generic_outl_p(unsigned int value, unsigned long port); -extern void generic_insb(unsigned int port, void *addr, unsigned long count); -extern void generic_insw(unsigned int port, void *addr, unsigned long count); -extern void generic_insl(unsigned int port, void *addr, unsigned long count); -extern void generic_outsb(unsigned int port, const void *addr, unsigned long count); -extern void generic_outsw(unsigned int port, const void *addr, unsigned long count); -extern void generic_outsl(unsigned int port, const void *addr, unsigned long count); +extern void generic_insb(unsigned long port, void *addr, unsigned long count); +extern void generic_insw(unsigned long port, void *addr, unsigned long count); +extern void generic_insl(unsigned long port, void *addr, unsigned long count); +extern void generic_outsb(unsigned long port, const void *addr, unsigned long count); +extern void generic_outsw(unsigned long port, const void *addr, unsigned long count); +extern void generic_outsl(unsigned long port, const void *addr, unsigned long count); -extern unsigned long generic_readb(unsigned long addr); -extern unsigned long generic_readw(unsigned long addr); -extern unsigned long generic_readl(unsigned long addr); +extern unsigned char generic_readb(unsigned long addr); +extern unsigned short generic_readw(unsigned long addr); +extern unsigned int generic_readl(unsigned long addr); extern void generic_writeb(unsigned char b, unsigned long addr); extern void generic_writew(unsigned short b, unsigned long addr); extern void generic_writel(unsigned int b, unsigned long addr); Index: include/asm-sh/io_hd64461.h =================================================================== RCS file: /cvsroot/linuxsh/kernel/include/asm-sh/io_hd64461.h,v retrieving revision 1.4 diff -u -3 -p -r1.4 io_hd64461.h --- include/asm-sh/io_hd64461.h 2000/10/12 07:29:21 1.4 +++ include/asm-sh/io_hd64461.h 2000/11/11 05:25:59 @@ -14,23 +14,23 @@ #include <asm/io_generic.h> -extern unsigned long hd64461_inb(unsigned int port); -extern unsigned long hd64461_inw(unsigned int port); -extern unsigned long hd64461_inl(unsigned int port); +extern unsigned char hd64461_inb(unsigned long port); +extern unsigned short hd64461_inw(unsigned long port); +extern unsigned int hd64461_inl(unsigned long port); -extern void hd64461_outb(unsigned long value, unsigned int port); -extern void hd64461_outw(unsigned long value, unsigned int port); -extern void hd64461_outl(unsigned long value, unsigned int port); +extern void hd64461_outb(unsigned char value, unsigned long port); +extern void hd64461_outw(unsigned short value, unsigned long port); +extern void hd64461_outl(unsigned int value, unsigned long port); |