]> rtime.felk.cvut.cz Git - lincan.git/blobdiff - lincan/src/sja1000p.c
Added support for fasync system call and replacement of spinXXX by can_spinXXX
[lincan.git] / lincan / src / sja1000p.c
index b71b5a0acc6ce47dc596e219206619dd41c239ad..b34e984d84c5affa3e08d3e5ed2aaff7aeb4b924 100644 (file)
@@ -9,12 +9,8 @@
  * Version lincan-0.2  9 Jul 2003
  */
 
-#include <linux/autoconf.h>
-
-#include <linux/sched.h>
-#include <linux/delay.h>
-#include <asm/irq.h>
-
+#include "../include/can.h"
+#include "../include/can_sysdep.h"
 #include "../include/main.h"
 #include "../include/sja1000p.h"
 
@@ -120,9 +116,9 @@ int sja1000p_chip_config(struct chip_t *chip)
        if (sja1000p_extended_mask(chip,0x00000000, 0xffffffff))
                return -ENODEV;
        
-       if (!baudrate)
-               baudrate=1000;
-       if (sja1000p_baud_rate(chip,1000*baudrate,chip->clock,0,75,0))
+       if (!chip->baudrate)
+               chip->baudrate=1000000;
+       if (sja1000p_baud_rate(chip,chip->baudrate,chip->clock,0,75,0))
                return -ENODEV;
 
        /* Enable hardware interrupts */
@@ -695,11 +691,11 @@ irqreturn_t sja1000p_irq_handler(int irq, void *dev_id, struct pt_regs *regs)
 int sja1000p_wakeup_tx(struct chip_t *chip, struct msgobj_t *obj)
 {
         /* dummy lock to prevent preemption fully portable way */
-       spinlock_t dummy_lock;
+       can_spinlock_t dummy_lock;
        
        /*  preempt_disable() */
-       spin_lock_init(&dummy_lock);
-       spin_lock(&dummy_lock);
+       can_spin_lock_init(&dummy_lock);
+       can_spin_lock(&dummy_lock);
        
        set_bit(OBJ_TX_REQUEST,&obj->flags);
        while(!test_and_set_bit(OBJ_TX_LOCK,&obj->flags)){
@@ -716,7 +712,7 @@ int sja1000p_wakeup_tx(struct chip_t *chip, struct msgobj_t *obj)
        }
 
        /* preempt_enable(); */
-       spin_unlock(&dummy_lock);
+       can_spin_unlock(&dummy_lock);
        return 0;
 }