/* 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
/*
#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);
/**
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;
}
* 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
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);