ppisa [Sun, 9 Nov 2008 13:24:07 +0000 (13:24 +0000)]
TS-CAN1 and TS-7KV support separated and updated. Needs testing.
The "tscan1" and "ts7kv" board support shares minimal amount of functions.
The "ts7kv" support is moved to separate file now and is inclussion
into final build is controlled by separate option from "config.omk" file
The both sources share "tsxxx_base" module parameter still
but solution is not elegant and use of different parameter
names is considered.
The "tscan1" seems to be used in MM I/O configurations on arm.
The the "tscan1mmio" hardware options has been included,
but there should be used ioremap() for MM I/O case.
But code found at Technologic Systems doesnot use it
ftp://ftp.embeddedarm.com/pc104-peripherals/ts-can1/ts-7800-linuxr26/ocera-lincan-src.tar.gz
so I have not changed it.
The "ts7kv" is still I/O based only. May it be, that best
and simplest solution is to compile it with can_inb/can_outb
for x86 and with can_reab/can_writeb for ARM.
The code requires testing before prepared release.
ppisa [Sun, 2 Nov 2008 12:35:20 +0000 (12:35 +0000)]
Use send_sig() instead of kill_proc() in emulated kthread support.
This allows to compile driver on latest 2.6.27+ kernels,
but is incorrect anyway. The local code for kernel thread
support is not more needed for recent 2.6 kernels and code
should be modified to emulate same interface for older ones.
ppisa [Sat, 1 Nov 2008 13:11:23 +0000 (14:11 +0100)]
LinCAN can_usb1 code updated for latest kernels.
The freezer functions have been moved to linux/freezer.h headerfile.
Corrected name and body of the usbcan_report_error function.
The err() function does not compile correctly so use CANMSG
used in most of other files instead.
Jan Kriz [Sun, 27 Jul 2008 15:47:46 +0000 (17:47 +0200)]
Fully working solution!
fixed simple getting the same device name when reconnected
fixed more usb urbs to send and receive messages
pending split kernel thread to smaller functions
pending commentaries
Jan Kriz [Sat, 26 Jul 2008 01:16:43 +0000 (03:16 +0200)]
Embedded code and LinCAN driver now working
fixed kernel thread running in atomic context
fixed initialization of SJA chip in embedded code
fixed vendor functions
pending more usb urbs handling in LinCAN
Fixes and updates for SECO M437 provided by Philippe Corbes
The SECO M437 has not been used from pre LinCAn driver days
so there has been accumulated more bugs in its support.
Thanks to Philippe Corbes, email:philippe.corbes _AT_ logibag.com
for providing fixes and testing.
termitt [Tue, 20 Nov 2007 21:47:41 +0000 (21:47 +0000)]
Added support for HCAN2 controllers integrated in SH7760.
The code has been developed during diploma thesis work at the Department of Control Engineering, FEL, CTU and has been tested on EMX32 SH7760 based board produced by MSC.
termitt [Tue, 20 Nov 2007 21:24:49 +0000 (21:24 +0000)]
Added support for HCAN2 controllers integrated in SH7760.
The code has been developed during diploma thesis work at the Department of Process Controll, FEL, CTU and has been tested on EMX32 SH7760 based board produced by MSC.
ppisa [Tue, 30 Oct 2007 11:40:13 +0000 (11:40 +0000)]
Corrected typo in legacy PCA82C200 (SJA1000 std) chip driver.
Thanks to Terence Soh for noticing the problem.
Important notice, if the board is equipped by real SJA1000
CAN controller chip, then PeliCAN mode is much much better
choice and sja1000p_register() function should be used
instead of bare standard sja1000_register() chip support.
ppisa [Wed, 15 Aug 2007 20:06:04 +0000 (20:06 +0000)]
Changes in CAN/PCI-200 card sources to be more clean in types
The newer kernels are very picky about diferentiate of numbers,
virtual and IO afddresses types. Try to follow rules and allow
compatability with older kernels is little csardas.
ppisa [Tue, 7 Aug 2007 13:09:43 +0000 (13:09 +0000)]
Minor correction in PEAK PCI can support.
Some first tests worked on DigitalLogic's MSMCA104+
card clone. But interrupt handling requires
more testing. PITA documentation is unclear and real
behavior of IRQ status has to be analyzed and code
has to be adjusted accordingly.
ppisa [Mon, 1 Jan 2007 23:52:54 +0000 (23:52 +0000)]
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.
ppisa [Fri, 6 Oct 2006 18:41:05 +0000 (18:41 +0000)]
The non-OMK stand-alone build updated to work with 2.6.18+ kernels.
The linux/version.h file no longer provides information about
kernel release. This information can be found in the linux/utsrelease.h
include file.
The problem reported and correction suggested by Francesco Monica,
but little different solution tested in other drivers has been
included at the end.
ppisa [Wed, 16 Aug 2006 20:49:37 +0000 (20:49 +0000)]
Corrected incorrect use of mutex initializer for semaphore used in support code for IPCI165 card.
The mismatch prevented build of IPCI165 card support for fully preemptive kernel.