X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lincan.git/blobdiff_plain/6250b3805fb7e368adf1e3f7ca39c8cc617bccff..6234a9dc385e5a9258a84227b2eab09bbb099c27:/lincan/src/tscan1.c diff --git a/lincan/src/tscan1.c b/lincan/src/tscan1.c index e799097..841970a 100644 --- a/lincan/src/tscan1.c +++ b/lincan/src/tscan1.c @@ -136,8 +136,8 @@ int tscan1_request_io(struct candevice_t *candev) default: mode=0x60; break; } - outb(0x00, candev->io_addr+TSCAN1_WIN_REG); - outb(mode, candev->io_addr+TSCAN1_MOD_REG); + can_outb(0x00, candev->io_addr+TSCAN1_WIN_REG); + can_outb(mode, candev->io_addr+TSCAN1_MOD_REG); return 0; } @@ -177,7 +177,7 @@ int tscan1_release_io(struct candevice_t *candev) can_release_io_region(remap_can_io_addr, TSXXX_CAN_RANGE); } - outb(0x20, candev->io_addr+TSCAN1_MOD_REG); + can_outb(0x20, candev->io_addr+TSCAN1_MOD_REG); can_release_io_region(candev->io_addr, TSXXX_IO_RANGE); return 0; @@ -238,15 +238,15 @@ int tscan1_check_presence(unsigned long remap_io_addr, int *pjmp) return -ENODEV; do { - if (inb(remap_io_addr+TSXXX_ID0_REG)!=TSCAN1_ID0 || - inb(remap_io_addr+TSXXX_ID1_REG)!=TSCAN1_ID1) + if (can_inb(remap_io_addr+TSXXX_ID0_REG)!=TSCAN1_ID0 || + can_inb(remap_io_addr+TSXXX_ID1_REG)!=TSCAN1_ID1) break; - outb(0x00, remap_io_addr+TSCAN1_WIN_REG); - outb(0x20, remap_io_addr+TSCAN1_MOD_REG); + can_outb(0x00, remap_io_addr+TSCAN1_WIN_REG); + can_outb(0x20, remap_io_addr+TSCAN1_MOD_REG); if(pjmp) - *pjmp = inb(remap_io_addr+TSCAN1_JMP_REG); + *pjmp = can_inb(remap_io_addr+TSCAN1_JMP_REG); result = 0; } while (0); @@ -343,12 +343,12 @@ int ts7kv_check_presence(unsigned long remap_io_addr, int *pjmp) return -ENODEV; do { - if (inb(remap_io_addr+TSXXX_ID0_REG)!=TS7KV_ID0 || - inb(remap_io_addr+TSXXX_ID1_REG)!=TS7KV_ID1) + if (can_inb(remap_io_addr+TSXXX_ID0_REG)!=TS7KV_ID0 || + can_inb(remap_io_addr+TSXXX_ID1_REG)!=TS7KV_ID1) break; if(pjmp) - *pjmp = inb(remap_io_addr+TS7KV_JMP_REG); + *pjmp = can_inb(remap_io_addr+TS7KV_JMP_REG); result = 0; } while (0); @@ -580,32 +580,33 @@ int tscan1_program_irq(struct candevice_t *candev) * Return Value: The function does not return a value * File: src/tscan1.c */ -void tscan1_write_register(unsigned data, unsigned long address) +void tscan1_write_register(unsigned data, can_ioptr_t address) { - outb(data, address); + can_outb(data, address); } -void ts7kv_write_register(unsigned data, unsigned long address) +void ts7kv_write_register(unsigned data, can_ioptr_t address) { - unsigned long base = address & ~0x1f; + unsigned long addr=can_ioptr2ulong(address); + can_ioptr_t base = can_ulong2ioptr(addr & ~0x1f); unsigned char nwin = 0x10; unsigned char savewin; can_spin_irqflags_t flags; - if((address&0x1f) > 0x1d) { + if((addr&0x1f) > 0x1d) { nwin++; address -= 0x10; } can_spin_lock_irqsave(&ts7kv_win_lock,flags); - savewin = inb(base+TS7KV_WIN_REG); + savewin = can_inb(base+TS7KV_WIN_REG); if(nwin == savewin) { - outb(data, address); + can_outb(data, address); }else{ - outb(nwin, base+TS7KV_WIN_REG); - outb(data, address); - outb(savewin, base+TS7KV_WIN_REG); + can_outb(nwin, base+TS7KV_WIN_REG); + can_outb(data, address); + can_outb(savewin, base+TS7KV_WIN_REG); } can_spin_unlock_irqrestore(&ts7kv_win_lock,flags); } @@ -620,33 +621,34 @@ void ts7kv_write_register(unsigned data, unsigned long address) * Return Value: The function returns the value stored in @address * File: src/tscan1.c */ -unsigned tscan1_read_register(unsigned long address) +unsigned tscan1_read_register(can_ioptr_t address) { - return inb(address); + return can_inb(address); } -unsigned ts7kv_read_register(unsigned long address) +unsigned ts7kv_read_register(can_ioptr_t address) { - unsigned long base = address & ~0x1f; + unsigned long addr=can_ioptr2ulong(address); + can_ioptr_t base = can_ulong2ioptr(addr & ~0x1f); unsigned char nwin = 0x10; unsigned char savewin; unsigned val; can_spin_irqflags_t flags; - if((address&0x1f) > 0x1d) { + if((addr&0x1f) > 0x1d) { nwin++; address -= 0x10; } can_spin_lock_irqsave(&ts7kv_win_lock,flags); - savewin = inb(base+TS7KV_WIN_REG); + savewin = can_inb(base+TS7KV_WIN_REG); if(nwin == savewin) { - val = inb(address); + val = can_inb(address); }else{ - outb(nwin, base+TS7KV_WIN_REG); - val = inb(address); - outb(savewin, base+TS7KV_WIN_REG); + can_outb(nwin, base+TS7KV_WIN_REG); + val = can_inb(address); + can_outb(savewin, base+TS7KV_WIN_REG); } can_spin_unlock_irqrestore(&ts7kv_win_lock,flags);