X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lincan.git/blobdiff_plain/3129fcd8094edcb910b708463fdf1a234f11fb55..2827b727d2910a3b48f9de7d67b3a67f59e256c7:/lincan/src/bfadcan.c diff --git a/lincan/src/bfadcan.c b/lincan/src/bfadcan.c index 8eeaf3d..c2c9ce7 100644 --- a/lincan/src/bfadcan.c +++ b/lincan/src/bfadcan.c @@ -12,36 +12,24 @@ * possible to load the driver with the hardware option hw=bfadcan. */ -#define __NO_VERSION__ /* this is not a main module, do not include module info */ - -#include - -#include - -#include -#include -#include -#include -#include - -#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,3,0)) -#include -#else -#include -#endif #define WINDOWED_ACCESS +#include "../include/can.h" +#include "../include/can_sysdep.h" #include "../include/main.h" #include "../include/i82527.h" #include "../include/sja1000p.h" +#define __NO_VERSION__ +#include + long clock_freq; 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 /* @@ -157,7 +145,7 @@ int bfadcan_reset(struct candevice_t *candev) * %RESET_ADDR represents the io-address of the hardware reset register. * %NR_82527 represents the number of intel 82527 chips on the board. * %NR_SJA1000 represents the number of philips sja1000 chips on the board. - * The flags entry can currently only be %PROGRAMMABLE_IRQ to indicate that + * The flags entry can currently only be %CANDEV_PROGRAMMABLE_IRQ to indicate that * the hardware uses programmable interrupts. * Return Value: The function always returns zero * File: src/bfadcan.c @@ -168,7 +156,7 @@ int bfadcan_init_hw_data(struct candevice_t *candev) candev->nr_82527_chips=NR_82527; candev->nr_sja1000_chips=NR_SJA1000; candev->nr_all_chips=NR_82527+NR_SJA1000; - candev->flags |= 0 /* PROGRAMMABLE_IRQ */ ; + candev->flags |= 0 /* CANDEV_PROGRAMMABLE_IRQ */ ; return 0; } @@ -250,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; } @@ -261,7 +248,7 @@ int bfadcan_init_obj_data(struct chip_t *chip, int objnr) * * The function bfadcan_program_irq() is used for hardware that uses * programmable interrupts. If your hardware doesn't use programmable interrupts - * you should not set the @candevices_t->flags entry to %PROGRAMMABLE_IRQ and + * you should not set the @candevices_t->flags entry to %CANDEV_PROGRAMMABLE_IRQ and * leave this function unedited. Again this function is hardware specific so * there's no example code. * Return value: The function returns zero on success or %-ENODEV on failure @@ -286,11 +273,11 @@ int bfadcan_program_irq(struct candevice_t *candev) void bfadcan_write_register(unsigned char data, unsigned long address) { #ifdef WINDOWED_ACCESS - 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 @@ -309,12 +296,12 @@ void bfadcan_write_register(unsigned char data, unsigned long address) unsigned bfadcan_read_register(unsigned long address) { #ifdef WINDOWED_ACCESS - 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);