]> rtime.felk.cvut.cz Git - lincan.git/blobdiff - lincan/src/bfadcan.c
Added individual Kconfig for CAN and ORTE components.
[lincan.git] / lincan / src / bfadcan.c
index 0f34958de9255d6f2497b1c063b8d9fed9031236..c2c9ce7aa03d7f83fbe4e47e0b96790d5eeb70b7 100644 (file)
@@ -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
 
 /*
@@ -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;
 }
@@ -274,11 +273,11 @@ int bfadcan_program_irq(struct candevice_t *candev)
 void bfadcan_write_register(unsigned char 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);