Frank Mori Hess [Sun, 24 Jul 2005 20:50:13 +0000 (20:50 +0000)]
patch from gpalli@deis.unibo.it (Gianluca Palli):
Added Sensoray copyright notice.
Frank Mori Hess [Sun, 24 Jul 2005 20:48:27 +0000 (20:48 +0000)]
patch from gpalli@deis.unibo.it (Gianluca Palli):
All compilation warning has been fixed. The includes of user space headers and
#ifdef RTAI has been removed, rt_printk is used for outputting debug messages.
A bug in s626_ai_cmdtest has been fixed.
Frank Mori Hess [Mon, 4 Jul 2005 21:27:30 +0000 (21:27 +0000)]
mite_iobase is gone
Frank Mori Hess [Mon, 4 Jul 2005 18:20:43 +0000 (18:20 +0000)]
add missing iounmap in detach
Frank Mori Hess [Mon, 4 Jul 2005 18:18:41 +0000 (18:18 +0000)]
fix compile warnings due to doing write[bwl] and read[bwl] to addresses
specified by unsigned long instead of void*
Frank Mori Hess [Mon, 4 Jul 2005 18:17:36 +0000 (18:17 +0000)]
fix return value of request_mem_region compatibility macro so it returns
a non-null value (null indicates error).
Frank Mori Hess [Mon, 4 Jul 2005 16:46:42 +0000 (16:46 +0000)]
fix typo
Frank Mori Hess [Sun, 26 Jun 2005 17:53:37 +0000 (17:53 +0000)]
some tweaks to try and support ao commands on pci boards without
ao fifos.
Frank Mori Hess [Sun, 26 Jun 2005 15:35:36 +0000 (15:35 +0000)]
patch from abbotti@mev.co.uk (Ian Abbott):
At the end of February (or possibly the beginning of March, depending on your
timezone!) I submitted a patch to remove pci_find_device and use pci_get_device
and pci_dev_put (and occasionally pci_dev_get) instead.
I messed up on the amplc_pc262 and cb_pcidas drivers as I forgot to replace
pci_find_device with pci_get_device, but added the calls to pci_dev_put, so the
PCI reference counts would go negative when the device was detached. The
attached patch corrects this problem and also fixes an unrelated gcc warning in
the cb_pcidas driver about a possibly ambiguous 'else' requiring braces (my
fault again!).
Frank Mori Hess [Sun, 26 Jun 2005 15:17:45 +0000 (15:17 +0000)]
patch from gpalli@deis.unibo.it (Gianluca Palli):
Got rid of user-space includes, and unneeded check for RTAI
Frank Mori Hess [Fri, 17 Jun 2005 00:55:35 +0000 (00:55 +0000)]
Sensoray 626 driver from gpalli@deis.unibo.it (Gianluca Palli):
This driver is based on the Sensoray 626 GPL Linux driver
The ai_poll function is not yet implemented
ao_cmd support is under development
The 48 dio channels are divided in to 3 subdev (2,3 and 4) with 16 channels
(each group of 16 channels is managed by a different hardware registers). These
can be grouped in one subdev with 48 bit mask. Channels 0-39 can be used as
TRIG_EXT arg for ai_cmd (cmd->start_src=TRIG_EXT; cmd->start_arg=20; subdev 3
channel 3 is used as external trigger)
Encoder/timer device has a lot of configuration option. Now only the encoder
configuration is avaiable. If ai_cmd scan_begin_src=TRIG_TIMER or
convert_src=TRIG_TIMER are selected, the timer channel 5 and 4 respectively are
used as trigger.
The code is filled with a lot of debugging messages visible compiling the code
with -D_DEBUG_ flag
Frank Mori Hess [Thu, 16 Jun 2005 23:00:40 +0000 (23:00 +0000)]
ordered ni_pci_table[] by id, and added some missing device ids
Frank Mori Hess [Wed, 15 Jun 2005 23:11:52 +0000 (23:11 +0000)]
add Alexis Berlemont <berlemont.hauw@free.fr>
Frank Mori Hess [Wed, 15 Jun 2005 23:05:48 +0000 (23:05 +0000)]
fix depmod call on install
Frank Mori Hess [Wed, 15 Jun 2005 22:58:52 +0000 (22:58 +0000)]
add pci id for PCI-6731
Frank Mori Hess [Tue, 14 Jun 2005 11:16:14 +0000 (11:16 +0000)]
only allocate comedi_irq_struct if we are going to use it (fixes memory
leak caused by my last changes).
Frank Mori Hess [Tue, 14 Jun 2005 01:43:00 +0000 (01:43 +0000)]
undo my silly (and failed) attempt to support shared RT interrupts
Frank Mori Hess [Tue, 14 Jun 2005 01:42:09 +0000 (01:42 +0000)]
fix return type for comedi_irq_struct.handler on 2.6 kernels
Frank Mori Hess [Tue, 14 Jun 2005 00:49:51 +0000 (00:49 +0000)]
removed some obsolete #defines
Frank Mori Hess [Mon, 13 Jun 2005 02:14:52 +0000 (02:14 +0000)]
rtai fusion support from Alexis Berlemont <berlemont.hauw@free.fr>,
slightly modified by me. Patch to comedi_rt_timer has not been
applied yet.
Frank Mori Hess [Mon, 13 Jun 2005 01:29:49 +0000 (01:29 +0000)]
added Simone Mannori
Frank Mori Hess [Mon, 13 Jun 2005 01:25:12 +0000 (01:25 +0000)]
fix for analog output, based on patch from Simone Mannori
<smannori@f2n.it>
Bernd Porr [Sun, 12 Jun 2005 22:09:55 +0000 (22:09 +0000)]
For one channel now sampling rates up to 30MHz are possible.
However, buffer overflows in the usb system limit the number
of consecutive samples to 256. At 5MHz 796 samples are possible
and at 3MHz continous sampling is possible.
Frank Mori Hess [Sat, 4 Jun 2005 14:32:48 +0000 (14:32 +0000)]
Patch from Ian Abbot <abbotti@mev.co.uk>:
I've done some work on getting rid of the check_region calls which are now
deprecated.
I first mentioned this back in March and did a little bit of work on it at the time:
https://cvs.comedi.org/pipermail/comedi/2005-March/006971.html
https://cvs.comedi.org/pipermail/comedi/2005-March/006977.html
My new patch seems to be too large for the comedi mailing list - they just
disappear into a black hole, so here is a description of my latest patch:
I used a static inline function called compat__request_region and (re)defined a
macro called request_region to use it. The result is that drivers can check the
return value of request_region (or pci_request_regions) instead of calling
check_region. Note that the compat__request_region does not return a pointer to
anything real, but it can be compared to NULL.
The attached patch implements the above compatibility stuff and changes the
drivers to use it (but I changed the amplc_pci230 driver to use
pci_request_regions instead of request_region while I was at it). I've also
changed the compatibility version of pci_request_regions to avoid calling
check_regions (otherwise it would be called twice) and also made it release any
regions it successfully requested on failure.
Most of the changes to the individual drivers were straightforward. One or two
required a modicum of thought to release resources on error.
Bernd Porr [Sat, 28 May 2005 23:27:16 +0000 (23:27 +0000)]
urb_kill is available from 2.6.8 and not from 2.6.10. This affects
especially sarge which works with 2.6.8. The urb_kill command
is much safer than urb_unlink.
Bernd Porr [Sat, 28 May 2005 23:26:22 +0000 (23:26 +0000)]
urb_kill is available from 2.6.8 and not from 2.6.10. This affects
especially sarge which works with 2.6.8. The urb_kill command
is much safer than the urb_unlink.
The async cmd is modifying the sampling interval so that the
user program can use the real sampling rate.
Frank Mori Hess [Sat, 28 May 2005 19:02:24 +0000 (19:02 +0000)]
added jiffies_to_msecs() and msleep_interruptible() to compatibility
headers
Frank Mori Hess [Sat, 28 May 2005 18:54:31 +0000 (18:54 +0000)]
added msecs_to_jiffies() compatibility definition
Frank Mori Hess [Sat, 28 May 2005 18:32:35 +0000 (18:32 +0000)]
add USB_CONTROL_MSG and USB_BULK_MSG compatibility functions due
to change in meaning of timeout argument with kernel 2.6.12
Bernd Porr [Mon, 23 May 2005 22:56:21 +0000 (22:56 +0000)]
Reduced the amount of debug messages during normal operation.
Frank Mori Hess [Mon, 16 May 2005 22:19:11 +0000 (22:19 +0000)]
revert to revision 1.8, as the issues with remap_page_range have already
been fixed by migrating to remap_pfn_range
Frank Mori Hess [Sat, 14 May 2005 23:08:28 +0000 (23:08 +0000)]
try to fix problems on pc104-das16jr that occur when an
dma transfer with an odd number of bytes occurs.
Frank Mori Hess [Sat, 14 May 2005 17:17:22 +0000 (17:17 +0000)]
be more careful about sending pci-1760 mailbox commands
Frank Mori Hess [Sat, 14 May 2005 00:06:37 +0000 (00:06 +0000)]
fixes for 1760: base address index was wrong (from
Bill Jennings <comedi@bigriverwireless.net>), and I cleaned up some
dead code and removed broken (and unneeded) pci1760_insn_read_di()
Frank Mori Hess [Wed, 27 Apr 2005 00:17:00 +0000 (00:17 +0000)]
add error message when request_irq fails
Frank Mori Hess [Wed, 27 Apr 2005 00:02:01 +0000 (00:02 +0000)]
removed debian files from cvs
Bernd Porr [Mon, 25 Apr 2005 08:03:18 +0000 (08:03 +0000)]
Wiktor Grebla wrote in the comedi mailing list:
Somwhere around 2.6.9 kernel remap_pfn_range() was introduced as a
portable replacement for remap_page_range,
presumably with some wrapper which has dissapeared recently (2.6.11),
what resulted in "Unknown symbol" while
loading comedi module (and the following ones because of the symbols in it).
I've changed include/linux/mm.h slightly, hopefully without breaking
anything.
Seems to work. I've tested it with 2.6.10 and 2.6.11.
Frank Mori Hess [Mon, 18 Apr 2005 01:21:09 +0000 (01:21 +0000)]
added comedi_mark_buffer_written() to kcomedilib
Bernd Porr [Sun, 17 Apr 2005 22:30:55 +0000 (22:30 +0000)]
Changed maxrange from 0xfff to 0x1000. The converter can reach the
value 0x1000 if there's an overflow. Thanks to Frank Mori Hess who
pointed that out.
Bernd Porr [Sun, 17 Apr 2005 22:27:25 +0000 (22:27 +0000)]
Applied to the 0.7 branch:
Fixed a bug which uploaded the firmware always to the first
device. Even if there were two devices. Thus, the second device
never got the firmware uploaded. Thanks to Bjorn Kinell.
David Schleef [Fri, 8 Apr 2005 02:57:17 +0000 (02:57 +0000)]
copy from HEAD
Frank Mori Hess [Thu, 7 Apr 2005 23:53:14 +0000 (23:53 +0000)]
summary of 0.7.70 changes
David Schleef [Thu, 7 Apr 2005 20:20:40 +0000 (20:20 +0000)]
Remove references to linux/irq.h
David Schleef [Thu, 7 Apr 2005 20:15:19 +0000 (20:15 +0000)]
Re-add call to depmod if it's a normal install
Frank Mori Hess [Thu, 7 Apr 2005 16:52:00 +0000 (16:52 +0000)]
added José Luis Sánchez
David Schleef [Tue, 5 Apr 2005 20:21:32 +0000 (20:21 +0000)]
Remove linux/irq.h. It should be asm/irq.h, which is included
automatically.
David Schleef [Sun, 3 Apr 2005 00:00:36 +0000 (00:00 +0000)]
Use -i and -f flags
David Schleef [Sat, 2 Apr 2005 23:57:18 +0000 (23:57 +0000)]
Fix drivers.txt target
David Schleef [Sat, 2 Apr 2005 23:52:27 +0000 (23:52 +0000)]
Use autoreconf. Add files
David Schleef [Sat, 2 Apr 2005 23:48:24 +0000 (23:48 +0000)]
Change the way files are disted. Remove all the crap from scripts/
that's no longer used.
David Schleef [Fri, 1 Apr 2005 04:24:12 +0000 (04:24 +0000)]
Documentation fixes
David Schleef [Fri, 1 Apr 2005 04:23:44 +0000 (04:23 +0000)]
version bump
David Schleef [Fri, 1 Apr 2005 03:00:52 +0000 (03:00 +0000)]
Make distcheck work. Add LINUX_MODULE_STYLE to indicate module
building style.
Frank Mori Hess [Tue, 29 Mar 2005 02:49:40 +0000 (02:49 +0000)]
fix compile warning, and initialize both tio chips
Frank Mori Hess [Tue, 29 Mar 2005 02:41:04 +0000 (02:41 +0000)]
patch from Klaas Gadeyne <Klaas.Gadeyne@mech.kuleuven.ac.be>
which fixes problem with initialization of CounterSwap bit in the
ClockConfigRegister.
The patch also fixes a small bug in the configuration of the TIO to serve
as an encoder: There was a copy-paste error in the code for taking into
account the index pulse or not.
Frank Mori Hess [Tue, 22 Mar 2005 02:30:46 +0000 (02:30 +0000)]
check for CAP_SYS_MODULE instead of CAP_SYS_ADMIN in comedi_fop_open()
Frank Mori Hess [Sat, 19 Mar 2005 03:36:30 +0000 (03:36 +0000)]
add mention of comedi_nonfree_firmware tarball
Frank Mori Hess [Sat, 19 Mar 2005 03:35:15 +0000 (03:35 +0000)]
allow schedules() during firmware upload
Frank Mori Hess [Fri, 18 Mar 2005 00:00:25 +0000 (00:00 +0000)]
add support for loading firmware into main fpga and scarabs on pci-6534
Frank Mori Hess [Thu, 17 Mar 2005 17:25:42 +0000 (17:25 +0000)]
add support for uploading firmware on 64 bit arches, and added support
for loading up to 4 different firmware files (will be needed by
ni pci-6534).
Frank Mori Hess [Thu, 17 Mar 2005 14:53:02 +0000 (14:53 +0000)]
add SDF_DITHER flag to analog input subdevice
Frank Mori Hess [Wed, 16 Mar 2005 15:56:02 +0000 (15:56 +0000)]
fix version check for remap_pfn_range() compatibility
Frank Mori Hess [Tue, 15 Mar 2005 01:00:33 +0000 (01:00 +0000)]
replace remap_page_range with remap_pfn_range
Frank Mori Hess [Sun, 13 Mar 2005 15:17:52 +0000 (15:17 +0000)]
move check of s->busy after aquisition of big_comedi_lock in
do_lock_ioctl. Make locking return a less confusing error code
on failure. Make locking fail if process already has lock (alternative
would be to make locking recursive, but I don't see a reason to bother).
Frank Mori Hess [Sat, 12 Mar 2005 13:31:39 +0000 (13:31 +0000)]
patch from Ian Abbott <abbotti@mev.co.uk>:
Here's a change to my new amplc_pci224 driver to use pci_request_regions
instead of check_region/request_region, as suggested by Frank.
Frank Mori Hess [Tue, 8 Mar 2005 02:35:34 +0000 (02:35 +0000)]
new driver from abbotti@mev.co.uk (Ian Abbott):
Here's a new driver for the Amplicon PCI224 and PCI234 analog output cards,
supporting streaming AO. It seems to be working well except that the first scan
can misfire at the start of acquisition, and I can't find a way to work around
this hardware problem. It shouldn't matter too much for waveform output. I've
mentioned it in the caveats section of the driver documentation.
Frank Mori Hess [Mon, 7 Mar 2005 00:59:47 +0000 (00:59 +0000)]
fix compile error
Frank Mori Hess [Mon, 7 Mar 2005 00:11:27 +0000 (00:11 +0000)]
use 8255 driver for 8255 subdevice
Frank Mori Hess [Sun, 6 Mar 2005 17:34:39 +0000 (17:34 +0000)]
fixed "cast as lvalue" compiler warning
Frank Mori Hess [Sun, 6 Mar 2005 17:31:08 +0000 (17:31 +0000)]
add support for new INSN_CONFIG_DIO_QUERY
Frank Mori Hess [Sun, 6 Mar 2005 17:30:40 +0000 (17:30 +0000)]
move some checks for length of data[] in configuration insn to core
Frank Mori Hess [Sun, 6 Mar 2005 17:30:10 +0000 (17:30 +0000)]
add id for INSN_CONFIG_DIO_QUERY for querying configuration state
of dio line
Frank Mori Hess [Sun, 6 Mar 2005 16:10:25 +0000 (16:10 +0000)]
at least now i know why the 6534 doesn't work
Frank Mori Hess [Thu, 3 Mar 2005 23:13:20 +0000 (23:13 +0000)]
patch from Ian Abbott <abbotti@mev.co.uk>:
updates the drivers to use
pci_get_device() instead of pci_find_device() and fixes a few other bits
that seemed to be broken: mostly insufficient checking in the 'detach'
routines.
Frank Mori Hess [Thu, 3 Mar 2005 23:08:59 +0000 (23:08 +0000)]
patch from Ian Abbott <abbotti@mev.co.uk>:
adds two more compatibility
definitions for 'pci_dev_get()' and 'pci_get_device()'
Frank Mori Hess [Thu, 3 Mar 2005 22:06:50 +0000 (22:06 +0000)]
updated documentation: firmware cannot be compiled into driver any more.
Frank Mori Hess [Tue, 1 Mar 2005 23:43:46 +0000 (23:43 +0000)]
pci-6534 does not work
Frank Mori Hess [Mon, 28 Feb 2005 23:35:53 +0000 (23:35 +0000)]
6035 only has 12 bit analog output resolution, despite 16 bit input
resolution. Added ao_bits member to board struct to deal with it.
Frank Mori Hess [Mon, 28 Feb 2005 23:24:00 +0000 (23:24 +0000)]
6034 and 6035 don't have 8255 chips
Frank Mori Hess [Mon, 28 Feb 2005 00:22:02 +0000 (00:22 +0000)]
compile fix for gcc 2.95 from al14@inf.tu-dresden.de (Andreas Leuner)
Frank Mori Hess [Mon, 28 Feb 2005 00:08:15 +0000 (00:08 +0000)]
don't use deprecated pci_find_subsys(), replace with pci_get_subsys()
(and pci_dev_put())
Frank Mori Hess [Mon, 28 Feb 2005 00:07:24 +0000 (00:07 +0000)]
implementation of pci_find_subsys for old kernels from abbotti@mev.co.uk (Ian Abbott),
and #defines for pci_get_subsys() and pci_dev_put() from me.
Frank Mori Hess [Sun, 27 Feb 2005 23:47:50 +0000 (23:47 +0000)]
patch from abbotti@mev.co.uk (Ian Abbott):
"modprobe dt3000" fails on current 2.6 kernels due to missing symbols in the PCI
stuff.
The attached patch should fix it, but needs testing properly. I've checked that
it modprobes okay, but don't have the hardware to make sure it finds the board okay.
Frank Mori Hess [Sun, 27 Feb 2005 23:42:00 +0000 (23:42 +0000)]
patch from emmanuel.pacaud@univ-poitiers.fr (Emmanuel Pacaud):
here's a patch that extends AI streaming capabilities of the
adl_pci9111 driver, and fixes analog output.
Frank Mori Hess [Sun, 27 Feb 2005 23:31:17 +0000 (23:31 +0000)]
need to change things around a little to prevent asm/tlb.h from breaking
compilation against debian 2.4.27 kernel headers
Frank Mori Hess [Sun, 27 Feb 2005 23:12:25 +0000 (23:12 +0000)]
patch from Ian Abbott <abbotti@mev.co.uk>:
The last change to das08_cs.c on Feb 5 breaks on 2.4, though the change
itself was not unreasonable (it saves a few bytes at least). The
problem is that the change was incompatible with the version of struct
device_driver defined in comedi's linux/device.h compatibility header.
In the "real" version of struct device_driver, the "name" member is a
"char *", but in the compatibility version it's a "dev_info_t", which is
a "char[32]".
The attached patch sorts it out in the compatibility headers.
Frank Mori Hess [Sun, 27 Feb 2005 22:26:45 +0000 (22:26 +0000)]
patch from Ian Abbott <abbotti@mev.co.uk>:
This patch against CVS also applies to comedi-0.7.69 and allows it to
compile correctly against Red Hat 9's 2.4.20-8 kernel, and probably
others using the "statm" kernel patch. It also changes the conditions
for defining the pte_offset_kernel() macro in the asm/pgtable.h
compatibility header to avoid it being redefined.
Frank Mori Hess [Sun, 27 Feb 2005 22:05:51 +0000 (22:05 +0000)]
patch from Ian Abbot <abbotti@mev.co.uk>:
I think it's probably a bad idea for my amplc_dio200 driver to call
comedi_event() while it's holding a spinlock. The call to comedi_event
could call a kcomedilib client's callback function, which might do
something that requires the same spinlock, leading to a deadlock.
The attached patch moves the calls to comedi_event() to a safe point
after the spinlock is released.
Bernd Porr [Sun, 27 Feb 2005 02:15:48 +0000 (02:15 +0000)]
Removed a buffer overflow routine again. The buffer overflow can
only be detected in the firmware when 3 out of 4 buffers are full.
Thus, the condition that all 4 buffers are full gives already
an buffer overflow.
Frank Mori Hess [Mon, 21 Feb 2005 21:02:47 +0000 (21:02 +0000)]
replace 0x10000 with max_count constant, and handle a couple more
corner cases
Frank Mori Hess [Mon, 21 Feb 2005 20:52:55 +0000 (20:52 +0000)]
patch from Ian Abbott <abbotti@mev.co.uk>:
Here's a couple more minor patches for the
i8253_cascade_ns_to_timer_2div function, which I should have spotted
earlier.
8253_dupcalc.patch gets rid of a duplicate calculation
8253_overflow.patch adds some arithmetic overflow checks to the "early
exit" test.
Frank Mori Hess [Thu, 17 Feb 2005 23:37:58 +0000 (23:37 +0000)]
patch from Ian Abbott <abbotti@mev.co.uk>:
This patch sets the COMEDI_CB_BLOCK event in the interrupt routines of
the comedi_parport and amplc_pc236 drivers, as whatever is monitoring
the interrupts probably wants to know about them as soon as possible!
Frank Mori Hess [Thu, 17 Feb 2005 23:23:42 +0000 (23:23 +0000)]
new driver from Ian Abbott <abbotti@mev.co.uk>
Frank Mori Hess [Thu, 17 Feb 2005 23:15:05 +0000 (23:15 +0000)]
inew compatibility header from Ian Abbott <abbotti@mev.co.uk>
Frank Mori Hess [Thu, 17 Feb 2005 23:13:35 +0000 (23:13 +0000)]
add missing include for likely/unlikely
Frank Mori Hess [Thu, 17 Feb 2005 22:58:33 +0000 (22:58 +0000)]
new compatibility header from Ian Abbott <abbotti@mev.co.uk>:
Here's an asm/semaphore.h compatibility header to help build Comedi
drivers for kernel versions prior to 2.2.18. It defines the following
missing macros:
init_MUTEX(x)
init_MUTEX_LOCKED(x)
DECLARE_MUTEX(name)
DECLARE_MUTEX_LOCKED(name)
I didn't define sema_init(sem, val) as I the implementation is
arch-dependent.
Frank Mori Hess [Thu, 17 Feb 2005 22:48:11 +0000 (22:48 +0000)]
patch from Ian Abbott <abbotti@mev.co.uk>:
This patch improves the "early exit" test in the
i8253_cascade_ns_to_timer_2div function (comedi/drivers/8253.h) to take
account of a divisor of 65536 being represented by 0.
Frank Mori Hess [Thu, 17 Feb 2005 22:42:09 +0000 (22:42 +0000)]
patch from Emmanuel PACAUD <emmanuel.pacaud@univ-poitiers.fr>:
Here's a trivial patch that closes comedi device file when detaching
comedi_rt_timer driver.
Frank Mori Hess [Wed, 9 Feb 2005 01:53:23 +0000 (01:53 +0000)]
patch from Ian Abbott <abbotti@mev.co.uk>:
This patch adds compatibility code for the 'wait_event()' macro in
linux/sched.h for kernels prior to 2.2.3. The actual implementation in
this patch has been taken from 2.2.14.
Bernd Porr [Mon, 7 Feb 2005 23:36:31 +0000 (23:36 +0000)]
Added proper insn command with a sampling rate of 1MHz/16.
Now 4 packets are ignored before data is sampled. One packet was not enough.
Improved timing for the multiplexer. Should run now reliable at high rates.