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.
Frank Mori Hess [Sun, 6 Feb 2005 16:22:05 +0000 (16:22 +0000)]
fix license header (comedilib is lgpl)
Frank Mori Hess [Sun, 6 Feb 2005 16:06:00 +0000 (16:06 +0000)]
force read from channel 0 when CR_ALT_SRC is set in ai read insn.
Frank Mori Hess [Sat, 5 Feb 2005 15:23:26 +0000 (15:23 +0000)]
fix pcmcia_driver.drv.name
Frank Mori Hess [Sat, 5 Feb 2005 15:22:01 +0000 (15:22 +0000)]
fix for need_resched from Ian Abbott <abbotti@mev.co.uk>:
This patch alters the Comedi driver's linux/sched.h compatibility header
to move the need_resched function after the #include_next directive.
This is because the 'current' task variable is not defined until after
the real linux/sched.h is included. I've also removed the comment - "/*
not sure exactly when need_resched() was added */"; I've checked, and it
was added in 2.4.20 as the code stated. I thought I'd fix the incorrect
comment at the top of the file while I was at it.
Frank Mori Hess [Thu, 3 Feb 2005 23:48:24 +0000 (23:48 +0000)]
enable burst mode dma transfers on mite
Frank Mori Hess [Tue, 25 Jan 2005 23:44:43 +0000 (23:44 +0000)]
patch from Ian Abbott <abbotti@mev.co.uk>, who says:
This patch fixes a harmless logical error in the _attach routines of the
amplc_pc236 and amplc_pc263 drivers that I noticed while looking at the
pci_for_each_dev stuff. Also, now that the drivers ar using
pci_find_device instead of pci_for_each_dev, the patch offloads some of
the searching for a matching PCI device to the pci_find_device function.
The bug is just after the loop that finds the PCI device ID table entry
that matches the comedi board name. The test for reaching the end of
the PCI device ID table without finding a match was incorrect. I say
the bug is harmless because there would have to be another bug somewhere
else to trigger this bug.
Frank Mori Hess [Tue, 25 Jan 2005 23:41:58 +0000 (23:41 +0000)]
fix rounding error in bytes_per_scan() for dio subdevices, noted by
Ian Abbott <abbotti@mev.co.uk>. Also, round to nearest sampl_t or
lsampl_t size, instead of nearest byte size.
Frank Mori Hess [Sun, 23 Jan 2005 02:45:47 +0000 (02:45 +0000)]
rename some members of bufinfo struct to make output mmaps
workable
Frank Mori Hess [Sat, 22 Jan 2005 14:22:18 +0000 (14:22 +0000)]
got rid of pci_for_each_dev macro (which no longer exists in 2.6
kernels)
Frank Mori Hess [Sat, 22 Jan 2005 14:15:23 +0000 (14:15 +0000)]
alphabetized contributors
Frank Mori Hess [Fri, 14 Jan 2005 01:23:13 +0000 (01:23 +0000)]
fix for cmdtest check of start_arg, from Ian Abbott <abbotti@mev.co.uk>
Frank Mori Hess [Fri, 14 Jan 2005 01:19:43 +0000 (01:19 +0000)]
fix for gcc3.4 compile error from Ian Abbott <abbotti@mev.co.uk>
Bernd Porr [Thu, 13 Jan 2005 19:37:56 +0000 (19:37 +0000)]
Removed a transfer flag which gave a compilation error under 2.4.x.
Transfer works without it anyway. Thanks to Ian Abbott who reported the bug.
Frank Mori Hess [Tue, 4 Jan 2005 19:29:28 +0000 (19:29 +0000)]
get rid of KILL_FASYNC define, since it is already in linux/fs.h compat
header
Bernd Porr [Tue, 4 Jan 2005 17:10:26 +0000 (17:10 +0000)]
Tested with 2.6.10. Introduced min sampling rate which is 60kHz.
Bernd Porr [Tue, 4 Jan 2005 17:04:51 +0000 (17:04 +0000)]
Minor changes. Tested with 2.6.10.
Bernd Porr [Tue, 4 Jan 2005 17:01:33 +0000 (17:01 +0000)]
Compilation aborted because the makefile wasn't able to generate
object files for some drivers. Added some missing lines like:
pcl812_ko_SOURCES = pcl812.c
Frank Mori Hess [Mon, 3 Jan 2005 23:43:04 +0000 (23:43 +0000)]
fix rtlinux compile
Bernd Porr [Mon, 3 Jan 2005 22:48:05 +0000 (22:48 +0000)]
From kernel version 2.6.10 the function usb_kill_urb has to be used instead
of the old unlink function. This makes hotplugging much safer, in
particular when the user unplugs the device while it is transmitting
data.
Also added some comments to the debug defines.
Bernd Porr [Mon, 3 Jan 2005 17:22:52 +0000 (17:22 +0000)]
Switched from iso transfer to bulk transfer. ISO is not the right
transfer mode as it imposes a certain sampling rate. The sampling
rate, however, is set by the GPIF and not by the transfer protocol.
Frank Mori Hess [Wed, 29 Dec 2004 03:10:46 +0000 (03:10 +0000)]
compatibility functions so udev support compiles on 2.4 kernels
Frank Mori Hess [Wed, 29 Dec 2004 02:57:50 +0000 (02:57 +0000)]
handle errors when trying to get kernel flags
Frank Mori Hess [Wed, 29 Dec 2004 02:43:28 +0000 (02:43 +0000)]
make lack of .hdepend in kernel dir a warning instead of an error
Frank Mori Hess [Wed, 29 Dec 2004 01:14:44 +0000 (01:14 +0000)]
add support for udev
Frank Mori Hess [Wed, 29 Dec 2004 01:13:13 +0000 (01:13 +0000)]
generate overflow events when ai fifo overflows with pio transfers
Frank Mori Hess [Wed, 29 Dec 2004 01:07:18 +0000 (01:07 +0000)]
Fixed bugs reported by csp@andrew.cmu.edu. The bug report was as follows:
I have been attempting to get a NI-ATAO10, a 10 channel legacy ISA analog output
board, working with comedi. Apparantely the way comedi_from_phys works to
convert voltage to sample doesn't seem to work correctly with the ATAO10 board.
I found that the correct sample data for the ATAO10 board is as follows:
In unipolar mode
0V = 2048
+10V = 6143
In bipolar mode
-10V = 2048
+10V = 6143
It seems that comedi_from_phys is somehow shifted by 2048 from what it should be
(comedi_from_phys gives values from 0 to 4095).
Furthermore, comedi does not detect the polarity of the board (I'm not sure if
this is possible on this board); thus the range is always reported as -10V to
+10V even if the board is set on unipolar mode (which is achieved by setting
jumpers on the board).
Finally, for some reason, channel 0 does not work with Comedi (the board fully
works in Windows). The other 9 channels work.
Frank Mori Hess [Mon, 13 Dec 2004 02:02:10 +0000 (02:02 +0000)]
make single-scan ai commands work
Frank Mori Hess [Mon, 13 Dec 2004 01:59:23 +0000 (01:59 +0000)]
fix "Devices:" comment field
Frank Mori Hess [Mon, 13 Dec 2004 01:42:32 +0000 (01:42 +0000)]
enhancement from YEOW NGEE SOON <nsyeow@pd.jaring.my>:
added simple event counting
Frank Mori Hess [Mon, 13 Dec 2004 01:41:33 +0000 (01:41 +0000)]
new driver from YEOW NGEE SOON <nsyeow@pd.jaring.my>
Frank Mori Hess [Wed, 8 Dec 2004 01:59:35 +0000 (01:59 +0000)]
fix for pcmcia fifo-half-full interrupt problems from
"Blacker, Phil M" <phil.blacker@atkinsglobal.com>
Frank Mori Hess [Sat, 4 Dec 2004 18:18:19 +0000 (18:18 +0000)]
make autogen.sh work with automake1.9
Frank Mori Hess [Tue, 30 Nov 2004 01:01:06 +0000 (01:01 +0000)]
added new drivers from José Luis Sánchez (jsanchezv@teleline.es)
Frank Mori Hess [Sat, 20 Nov 2004 17:22:34 +0000 (17:22 +0000)]
sort devices.txt
Frank Mori Hess [Sat, 20 Nov 2004 16:55:03 +0000 (16:55 +0000)]
some comment fixes to make Devices.txt get generated correctly
Bernd Porr [Sun, 14 Nov 2004 23:12:29 +0000 (23:12 +0000)]
cmd is now dumping the first 5 packets. They are usually leftovers
from last the cmd: 4 packets from the quad buffer in the usbduxfast
and one packet kept by the host controller.
Bernd Porr [Thu, 11 Nov 2004 00:20:21 +0000 (00:20 +0000)]
The memory allocation flag GFP_KERNEL is not permissible in an
interrupt callback. It has to be GFP_ATOMIC. The submit_urb
function has been called with the wrong kernel kernel flag. It's
now GFP_ATOMIC. Thanks for the feedback from Dave Brownell.
Bernd Porr [Tue, 9 Nov 2004 23:20:30 +0000 (23:20 +0000)]
Commented out the USB ID for testing purposes and added the proper one for
ITL/Univ of Stirling (product IDs 0x10 and 0x11).
Bernd Porr [Sun, 31 Oct 2004 23:21:22 +0000 (23:21 +0000)]
Added the usbduxfast driver.
Bernd Porr [Sun, 31 Oct 2004 23:19:27 +0000 (23:19 +0000)]
Initial version of the new usbduxfast driver. Tested with 2.4.27 and
2.6.9.
Frank Mori Hess [Tue, 26 Oct 2004 22:25:39 +0000 (22:25 +0000)]
Remove bogus scan_end_src. By the way, the last log message should have said
"added support for stop_src==TRIG_NONE", instead of saying he added
support for externally triggered input commands
Frank Mori Hess [Tue, 26 Oct 2004 22:11:15 +0000 (22:11 +0000)]
added Brent Ledvina
Frank Mori Hess [Tue, 26 Oct 2004 22:09:45 +0000 (22:09 +0000)]
Support for externally triggered input commands from Brent Ledvina
bml22@cornell.edu
Frank Mori Hess [Sun, 17 Oct 2004 15:44:05 +0000 (15:44 +0000)]
Added Steve Sharples
Frank Mori Hess [Sun, 17 Oct 2004 15:40:57 +0000 (15:40 +0000)]
Enhancement from Steve Sharples:
I've added the ability for the AI command to support "triggered burst mode"
sampling, ie:
- scan_begin_src=TRIG_EXT
- convert_src=TRIG_TIMER
Frank Mori Hess [Sun, 10 Oct 2004 17:02:55 +0000 (17:02 +0000)]
renamged Changelog to ChangeLog and add entry for 0.7.69
Frank Mori Hess [Wed, 6 Oct 2004 01:56:07 +0000 (01:56 +0000)]
oops, convert counter really should be limited to 16 bits after all
Frank Mori Hess [Wed, 6 Oct 2004 01:38:44 +0000 (01:38 +0000)]
Fix bogus sample at beginning of ao command (me). Fix check of convert_arg
in ai_cmdtest() (Jonathan Wang <jtwang@MIT.EDU>).
Frank Mori Hess [Wed, 6 Oct 2004 01:35:50 +0000 (01:35 +0000)]
fix passing of bad argument to comedi_error()
Frank Mori Hess [Wed, 6 Oct 2004 00:47:21 +0000 (00:47 +0000)]
add support for 6014, and add missing entries to pci device table
Frank Mori Hess [Sat, 2 Oct 2004 23:01:31 +0000 (23:01 +0000)]
bump version for release
Frank Mori Hess [Sat, 2 Oct 2004 22:49:30 +0000 (22:49 +0000)]
me400_fw.h is gone
Frank Mori Hess [Sat, 2 Oct 2004 22:47:30 +0000 (22:47 +0000)]
modtool.in is gone
Frank Mori Hess [Sat, 2 Oct 2004 00:27:13 +0000 (00:27 +0000)]
check for modpost in two possible locations
Frank Mori Hess [Sat, 2 Oct 2004 00:26:47 +0000 (00:26 +0000)]
fix missing $ in check for depmod
Frank Mori Hess [Wed, 29 Sep 2004 12:28:26 +0000 (12:28 +0000)]
fix for shared interrupt bug from steve.sharples@nottingham.ac.uk
Frank Mori Hess [Thu, 9 Sep 2004 11:49:25 +0000 (11:49 +0000)]
fix argument to rtl_delay for rtlinux
Bernd Porr [Sun, 5 Sep 2004 19:12:26 +0000 (19:12 +0000)]
Typo in the synchonous out command: in case of an error the
synchronous _in_ command was stopped instead of the out command.
Also added a short description of the timer connections.
Frank Mori Hess [Wed, 1 Sep 2004 01:50:25 +0000 (01:50 +0000)]
use rtl_delay() for rtlinux
Frank Mori Hess [Wed, 1 Sep 2004 01:38:59 +0000 (01:38 +0000)]
usleep() seems to crash rtlinux when called from non-rt priority
Frank Mori Hess [Wed, 1 Sep 2004 00:56:34 +0000 (00:56 +0000)]
add error message when no isapnp support is available
Frank Mori Hess [Tue, 31 Aug 2004 02:42:38 +0000 (02:42 +0000)]
return error if a command is run with no irq
Bernd Porr [Wed, 18 Aug 2004 22:36:06 +0000 (22:36 +0000)]
The submission of the bulk transfers can be delayed. This leads in the worst case to a change in the order of bulk transfers. For example, the insn command requests the counter value. After that another insn requests the status of the digital port. It happens that these requests are swapped in their temporal order because the USB controller might delay a submission because of heavy traffic. The linux kernel _assumes_ that the packet has been sent. In fact this can't be guaranteed. Therefore now the packet which is sent from the firmware is checked. If it is the wrong one it is requested again.
Frank Mori Hess [Fri, 6 Aug 2004 00:48:02 +0000 (00:48 +0000)]
fix deadlock on end-of-acquisition
Frank Mori Hess [Mon, 2 Aug 2004 01:13:22 +0000 (01:13 +0000)]
move setup of subdevices after init of plx9080
Frank Mori Hess [Sun, 1 Aug 2004 23:18:42 +0000 (23:18 +0000)]
fix initialization of eeprom subdevice
Frank Mori Hess [Sun, 1 Aug 2004 22:20:58 +0000 (22:20 +0000)]
updated usbdux driver from Bernd Porr
Frank Mori Hess [Sun, 25 Jul 2004 19:05:33 +0000 (19:05 +0000)]
fix INSN_GTOD
Frank Mori Hess [Wed, 21 Jul 2004 00:10:59 +0000 (00:10 +0000)]
fix double-munging when bufinfo ioctl is called in concert with
read()s from /dev/comediX
Frank Mori Hess [Mon, 19 Jul 2004 23:24:12 +0000 (23:24 +0000)]
add isapnp device id for at-mio-64e-3