X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lincan.git/blobdiff_plain/c6d6f58c34e1b6a4c03d1e86d1abf48eeb6f5624..c61a955168179d9b11a8f420979eed5cc24869c0:/lincan/src/bfadcan.c diff --git a/lincan/src/bfadcan.c b/lincan/src/bfadcan.c index 0f34958..3fc3064 100644 --- a/lincan/src/bfadcan.c +++ b/lincan/src/bfadcan.c @@ -29,7 +29,7 @@ MODULE_PARM(clock_freq,"i"); /* cli and sti are not allowed in 2.5.5x SMP kernels */ #ifdef WINDOWED_ACCESS -spinlock_t bfadcan_win_lock=SPIN_LOCK_UNLOCKED; +static can_spinlock_t bfadcan_win_lock=SPIN_LOCK_UNLOCKED; #endif /* @@ -44,7 +44,7 @@ spinlock_t bfadcan_win_lock=SPIN_LOCK_UNLOCKED; #endif unsigned bfadcan_read_register(unsigned long address); -void bfadcan_write_register(unsigned char data, unsigned long address); +void bfadcan_write_register(unsigned data, unsigned long address); /** @@ -238,7 +238,6 @@ int bfadcan_init_chip_data(struct candevice_t *candev, int chipnr) int bfadcan_init_obj_data(struct chip_t *chip, int objnr) { chip->msgobj[objnr]->obj_base_addr=chip->chip_base_addr+(objnr+1)*0x10; - chip->msgobj[objnr]->flags=0; return 0; } @@ -271,14 +270,14 @@ int bfadcan_program_irq(struct candevice_t *candev) * Return Value: The function does not return a value * File: src/bfadcan.c */ -void bfadcan_write_register(unsigned char data, unsigned long address) +void bfadcan_write_register(unsigned data, unsigned long address) { #ifdef WINDOWED_ACCESS - unsigned long flags; - spin_lock_irqsave(&bfadcan_win_lock,flags); + can_spin_irqflags_t flags; + can_spin_lock_irqsave(&bfadcan_win_lock,flags); outb(address&0x00ff,0x200); outb(data, 0x201); - spin_unlock_irqrestore(&bfadcan_win_lock,flags); + can_spin_unlock_irqrestore(&bfadcan_win_lock,flags); #else outb(data,address); #endif @@ -297,12 +296,12 @@ void bfadcan_write_register(unsigned char data, unsigned long address) unsigned bfadcan_read_register(unsigned long address) { #ifdef WINDOWED_ACCESS - unsigned long flags; + can_spin_irqflags_t flags; int ret; - spin_lock_irqsave(&bfadcan_win_lock,flags); + can_spin_lock_irqsave(&bfadcan_win_lock,flags); outb(address&0x00ff,0x200); ret = inb(0x201); - spin_unlock_irqrestore(&bfadcan_win_lock,flags); + can_spin_unlock_irqrestore(&bfadcan_win_lock,flags); return ret; #else return inb(address);