LinCAN PCI cards support updated to support PCI devices reference counting. Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Ensure that do_gettimeofday is declared for some versions. This is attempt to correct LinCAN build for 2.4.x kernels. Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Makefile.rules and atomic CMPXCHG handling update to support 2.6.33 kernel. Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
The LinCAN driver license unified according to DCE FEE CTU head and superiors request. This is horribly long time pending request but I hold it to simplify merging of contributed changes. But it cannot be hold longer when new release is in preparation. Excuse me for inconvenience.
Corrected bug caused by "The first round of I/O space pointers separation." patch. The can_{in,out}{lw} has been mapped to the byte size operations. The corrected version has been tested on KVASER PCIcan-Q card.
Whitespace cleanup in some LinCAN source files to prepare for integration of Jan Kriz work.
The first round of I/O space pointers separation. The new 2.6.x Linux kernels separates I/O space addresses from kernel and user space ones. They are defined as (void __iomem *). To follow this rule and suppress some warnings LinCAN defines type can_ioptr_t now which allows to keep code compatible between 2.4.x and 2.6.x kernels. These changes exposes more other inconsistencies in some boards support code which should be corrected one by one later. The code requires testing and checking on more hardware.
Update of IRQ handlers to conform to arguments from new function prototype (Linux kernel 2.6.19+).
Fix to behave correctly on latest real-time premptible kernels. preempt_disable() cannot be used there to boost thread priority temporarily.
LinCAN driver updated to work on Real-Time Preemption enabled kernel. Code tested on SJA1000 controller on the ARM based system with Linux kernel 2.6.14 and Ingo Molnar's 2.6.14-rt5 patch.
Returned back filling of CAN messages timestamps for RT-Linux variant. Used clock_gettime per Ismael's suggestion, needs more testing.
RT-Linux timestamps has to be done different way
CPC-PCI second chip IRQ corrected. Message timestamp code added. The timestamp code has some time overhead. If it is problem, it can be disabled in the main.h file.
Correction of spinlock acquire order. BUGFIX of possible deadlock on real SMP systems in the canqueue functions. Significantly faster implementation of canque_edge_decref() implemented for systems defining CAN_HAVE_ARCH_CMPXCHG.
LinCAN version updated to 0.3
Moved inclussion of lincan_config.h to can_sysdep.h
Definition of VME support symbol was moved to main.h where lincan_config.h is available
Added option for VME bus support
Added support for Unicontrols PCI CAN card. Will be tested, when I get to the hardware at school.
LinCAN driver structured comments updated.