Ian Abbott [Wed, 21 Jun 2006 16:27:12 +0000 (16:27 +0000)]
Fix gcc-4.1 warnings (unused variable, printk format specifier mismatch).
Ian Abbott [Wed, 21 Jun 2006 16:09:07 +0000 (16:09 +0000)]
Fix gcc-4.1 warnings (uninitialized variables).
Ian Abbott [Wed, 21 Jun 2006 16:07:01 +0000 (16:07 +0000)]
Fix gcc-4.1 warnings (uninitialized variable). The variable is question
has been removed, as it is only used on an unreachable path. Also, don't
bother calling pcmcia_release_window() as there is no matching call to
pcmcia_request_window().
Frank Mori Hess [Tue, 20 Jun 2006 01:14:01 +0000 (01:14 +0000)]
Made a few updates to install instructions.
Frank Mori Hess [Tue, 20 Jun 2006 01:05:07 +0000 (01:05 +0000)]
Marked some initialization/cleanup functions with __init/__exit.
Frank Mori Hess [Tue, 20 Jun 2006 00:57:15 +0000 (00:57 +0000)]
Added some missing pcmcia device tables.
Frank Mori Hess [Tue, 20 Jun 2006 00:29:05 +0000 (00:29 +0000)]
removed obsolete file.
Frank Mori Hess [Mon, 19 Jun 2006 01:21:38 +0000 (01:21 +0000)]
Patch from abbotti@mev.co.uk (Ian Abbott):
The pcm3724 driver is still using the deprecated check_region() call. Also, it
doesn't check if things were allocated properly when cleaning up in the detach
routine.
The attached patch fixes it.
Frank Mori Hess [Mon, 19 Jun 2006 01:19:12 +0000 (01:19 +0000)]
Patch from abbotti@mev.co.uk (Ian Abbott):
The following driver files call ioremap() but do not check if the return value
is NULL:
cb_pcidas64.c
daqboard2000.c
dt3000.c
gsc_hpdi.c
me_daq.c
mite.c
rtd520.c
s626.c
The attached patch takes appropriate action if the return value from ioremap()
is NULL. (In some cases, this also required the addition of a flag
'got_regions' to the device private data structure to record whether the PCI
regions need to be released.)
The patch also removes the antiquated requirement of the address passed to
ioremap() needing to be on a page boundary.
Frank Mori Hess [Mon, 19 Jun 2006 01:12:37 +0000 (01:12 +0000)]
patch from Ian Abbott <abbotti@mev.co.uk>:
I have a patch that changes the adl_pci9118 and adv_pci1710 drivers. It
mimics their old behaviour of searching for an unused card, rather than
using the first card it finds. I didn't need to change the cb_pcidas
driver after all as it wasn't using the amcc_s5933 driver, only some
macros from amcc_s5933.h.
The patch also removes the amcc_s5933 module from the Makefile.am and
Kbuild files and removes the function declarations, etc., from the
amcc_s5933.h file.
Frank Mori Hess [Mon, 12 Jun 2006 01:15:03 +0000 (01:15 +0000)]
remove obsolete pcmcia stuff (irq_list and IRQInfo2)
Frank Mori Hess [Mon, 12 Jun 2006 01:10:38 +0000 (01:10 +0000)]
Patch from abbotti@mev.co.uk (Ian Abbott):
The (few) module parameters used by comedi (for debugging and for specifying
irq_mask or irq_list for some PCMCIA drivers) haven't worked since kernel
2.6.11. If you try and specify a module parameter when loading a module, the
module fails to load due to missing symbols.
I have implemented a linux/moduleparam.h compatibility header using code
borrowed from the 2.4.25 kernel with some additions, and a patch to use it.
The module_param() macro has been implemented for 2.4 kernels. Unfortunately,
it is not possible to implement module_param_array() for 2.4 kernels, so I
implemented a similar MODULE_PARAM_ARRAY() macro instead. The third parameter
is different, being the length of the array rather than a (optionally null)
pointer to a variable set to the number of elements of the array that have been
filled in (that information is not available in 2.4 so I thought it best to omit
it entirely). There is one restriction on the "length of array" parameter; it
has to be a decimal number (or a macro that expands to a decimal number), not a
fancy C expression, otherwise insmod won't parse it properly (if at all!).
Frank Mori Hess [Mon, 12 Jun 2006 01:02:12 +0000 (01:02 +0000)]
Patch from abbotti@mev.co.uk (Ian Abbott):
Sometimes USB support breaks due to API changes in 2.6 or vendor patches (e.g.
Fedora Core 5's 2.6.15 kernel), so it would be useful to have a configure option
to disable it, like there is for PCMCIA.
Frank Mori Hess [Sun, 11 Jun 2006 23:33:28 +0000 (23:33 +0000)]
More pci fixes.
Frank Mori Hess [Sun, 11 Jun 2006 21:34:21 +0000 (21:34 +0000)]
Patch from abbotti@mev.co.uk (Ian Abbott). Note, I am planning
to revert/alter parts of this patch shortly, I am commiting
the original patch so it is clear what I changed.
I've been through the PCI code of all the drivers (apart from the ones in the
addi_data directory) to apply the following rules:
1. Call pci_enable_device before looking at resources. (I didn't do this for
the card list display code in amcc_s5933.c as it's only for debugging; it might
display bogus values on some platforms.)
2. Call pci_request_regions to request all PCI I/O and memory areas. (Some
drivers were calling request_region on a subset of the valid regions, but
pci_request_regions is preferred. Some drivers didn't bother requesting regions
and just used them anyway.)
3. If 1 and 2 succeeded, then when done with the device (on comedi detach), call
pci_release_regions and pci_disable_device. Note that pci_disable_device is not
called if rule 2 failed, because that indicates that the device is being used by
something else (most likely another comedi device).
I've fixed some brokenness along the way, but the amcc_s5933 driver will still
break if more than one client driver uses it (but at least it now works if more
than one device is using that client driver). To fix it properly will require
separate device lists for each vendor ID and maybe a reference count for each of
those lists - a job for another day!
More brokenness in the adv_pci_dio driver has been fixed. It tried to be clever
by keeping a list of PCI devices in use, but its list handling code was
completely broken.
I changed the s626 driver to use pci_get_device and pci_put_device instead of
the old pci_find_device.
I've checked over the changes twice, but am not able to test all the drivers of
course, so I might have introduced an odd bug or two, but I hope not!
Frank Mori Hess [Sun, 11 Jun 2006 21:05:57 +0000 (21:05 +0000)]
Got rid of obsolete IRQ_INFO2_VALID
Frank Mori Hess [Sun, 11 Jun 2006 21:02:52 +0000 (21:02 +0000)]
got rid of useless irq_mask variable.
Frank Mori Hess [Sun, 11 Jun 2006 19:36:10 +0000 (19:36 +0000)]
Dropped support for pcmcia on kernels older than 2.6.16, on the
basis that it would be too burdensome to expect people adding new
pcmcia drivers to make them work on all the varying pcmcia
interfaces provided by different kernels.
Frank Mori Hess [Sun, 11 Jun 2006 18:52:52 +0000 (18:52 +0000)]
Patch from abbotti@mev.co.uk (Ian Abbott) which ports pcmcia
drivers to 2.6.16 api. It also deals with the dropping of the "owner"
member from the usb driver struct in 2.6.16.
I will shortly drop support for pcmcia
on kernels older than 2.6.16.
Frank Mori Hess [Sat, 6 May 2006 15:43:46 +0000 (15:43 +0000)]
Compile fix when building with kbuild from Jan Gukelberger <g.u.g.i@gmx.de>
Frank Mori Hess [Tue, 2 May 2006 02:04:56 +0000 (02:04 +0000)]
Patch from caleb@aei-tech.com (Caleb Tennis), which implements checks
for length of INSN_CONFIG_SERIAL_CLOCK and INSN_CONFIG_BIDIRECTIONAL_DATA.
Frank Mori Hess [Tue, 2 May 2006 02:01:09 +0000 (02:01 +0000)]
Added new driver from sutashu@gmail.com (Stanislaw Raczynski)
Frank Mori Hess [Tue, 2 May 2006 01:56:32 +0000 (01:56 +0000)]
Added new drivers to build
Frank Mori Hess [Tue, 2 May 2006 01:56:08 +0000 (01:56 +0000)]
Replaced pci_for_each_dev() with a for loop and pci_get_device()
Frank Mori Hess [Tue, 2 May 2006 01:52:34 +0000 (01:52 +0000)]
Fixed some compile warnings, and replaced pci_for_each_dev with
a for loop using pci_get_device().
Frank Mori Hess [Tue, 2 May 2006 01:46:54 +0000 (01:46 +0000)]
New drivers from mike@mikelachaine.ca (mikelachaine)
Frank Mori Hess [Tue, 2 May 2006 01:37:05 +0000 (01:37 +0000)]
Patch from abbotti@mev.co.uk (Ian Abbott) which adds missing
pcm3724_ko_SOURCES
Frank Mori Hess [Tue, 2 May 2006 01:11:03 +0000 (01:11 +0000)]
Update to documentation comments from terry1@beam.ltd.uk (Terry Barnaby)
Frank Mori Hess [Wed, 19 Apr 2006 02:10:10 +0000 (02:10 +0000)]
Patch from terry1@beam.ltd.uk (Terry Barnaby):
There was a bug in the PCI-6143 code in the ni_pcimio driver which stopped
the device being set to high sampling rates.
The enclosed patch fixes this.
Frank Mori Hess [Wed, 19 Apr 2006 02:07:16 +0000 (02:07 +0000)]
Added option to force disabling of RTAI support, based on patch from
blg@mast.queensu.ca (Ben Gardiner).
Frank Mori Hess [Wed, 19 Apr 2006 00:10:22 +0000 (00:10 +0000)]
Patch from calin@ajvar.org (Calin A. Culianu):
I modified the driver to more correctly reflect the physical connectors on the
PCMUIO board. Basically rather than have 32-channel subdevices, I am making the
board use 24-channel subdevices.
The reason is simple: The board has 25-pin connectors. Either two of them for
the 48-channel version or 4 of them for the 96-channel version. Anyway, I made
this driver create 1 subdevice per connector. It turns out in practice it is
more useful to have 4 subdevices with 24 channels each than it is to have 3
subdevices with 32 channels -- since you have to do funny math in your head to
figure out what channel 7 on subdevice 2 is. By having a 1-to-1 association
between subdevice and physical connector, it's much easier to work with.
Frank Mori Hess [Tue, 21 Mar 2006 22:40:33 +0000 (22:40 +0000)]
Added note about state of m-series support.
Frank Mori Hess [Thu, 9 Mar 2006 13:34:34 +0000 (13:34 +0000)]
Added warning message to encourage checks of config insn data lengths.
Frank Mori Hess [Tue, 7 Mar 2006 02:44:34 +0000 (02:44 +0000)]
Added INSN_CONFIG_GET_PWM_OUTPUT config insn.
Frank Mori Hess [Tue, 7 Mar 2006 02:37:01 +0000 (02:37 +0000)]
Changed INSN_CONFIG_PWM_OUTPUT so the rounding mode for the up and
down times can be set independently.
Frank Mori Hess [Fri, 3 Mar 2006 00:58:47 +0000 (00:58 +0000)]
Patch from terry1@beam.ltd.uk (Terry Barnaby):
This patch adds support to comedi for the NI PCI-6143 DAQ card.
It also adds support for the NI RTSI trigger bus used to synchronise multiple
cards to any ni_pcimio supported card.
The patch also requires a patch to the comedilib to support the RTSI.
More info on the patch is at: http://www.beam.org.uk/opensource/pci-6143/
Frank Mori Hess [Thu, 2 Mar 2006 01:58:54 +0000 (01:58 +0000)]
Removed stray quotes from clean and install kbuild targets
Frank Mori Hess [Thu, 23 Feb 2006 00:02:43 +0000 (00:02 +0000)]
Patch from abbotti@mev.co.uk (Ian Abbott):
2.6.13 introduced device ID tables for PCMCIA devices. They seem to be required
to get automatic module loading to work for PCMCIA on some newer distros.
I've patched ni_mio_cs.c and ni_labpc_cs.c to include the device ID tables (only
for kernel version 2.6.13 upwards). I don't have enough information to patch
the other PCMCIA drivers.
Frank Mori Hess [Wed, 22 Feb 2006 23:57:37 +0000 (23:57 +0000)]
Disabling addi-data driver until it's floating point problems get
fixed.
Frank Mori Hess [Wed, 22 Feb 2006 23:38:36 +0000 (23:38 +0000)]
Fix for RTAI compile with --enable-kbuild configure option, from
Edwin Steiner <edwin.steiner@gmx.net>
Frank Mori Hess [Mon, 20 Feb 2006 14:51:55 +0000 (14:51 +0000)]
Fixed read of parallel port data lines, as reported by Franco Minutiello
<franco.minutiello@darts.it>
Frank Mori Hess [Mon, 6 Feb 2006 03:21:17 +0000 (03:21 +0000)]
--enable-kbuild option of configure script works now.
Frank Mori Hess [Sun, 5 Feb 2006 23:44:46 +0000 (23:44 +0000)]
Beginnings of support for kbuild with recent 2.6 kernels.
Frank Mori Hess [Sun, 5 Feb 2006 16:20:47 +0000 (16:20 +0000)]
Fixed missing MODULE_LICENSE by using COMEDI_INITCLEANUP().
Frank Mori Hess [Sun, 5 Feb 2006 16:15:02 +0000 (16:15 +0000)]
Fixed AM_CFLAGS for addi-data when using RTAI/RTLinux.
Frank Mori Hess [Sat, 28 Jan 2006 21:28:46 +0000 (21:28 +0000)]
Reenabled isapnp support, and ported it to 2.6 kernels. Doesn't work
on 2.4 kernels any more.
Frank Mori Hess [Sat, 28 Jan 2006 21:27:42 +0000 (21:27 +0000)]
More compatilbility wrappers to let ni_atmio driver using 2.6 isapnp
support compile (but isapnp won't actually work) on 2.4 kernels.
Frank Mori Hess [Sat, 28 Jan 2006 17:39:17 +0000 (17:39 +0000)]
Made it not bother to try and build this module on a 2.4 kernel.
Frank Mori Hess [Sat, 28 Jan 2006 17:36:15 +0000 (17:36 +0000)]
Added some more compatibility wrappers for 2.4 kernels.
Frank Mori Hess [Sat, 28 Jan 2006 17:34:47 +0000 (17:34 +0000)]
Added dt9812_ko_SOURCES.
Frank Mori Hess [Sat, 28 Jan 2006 15:33:30 +0000 (15:33 +0000)]
Patch from abbotti@mev.co.uk (Ian Abbott):
The amplc_pci230 code for handling the AI instruction has an inverted test for
the state of the ADC "busy" bit in its timeout loop. The attached patch
corrects the test.
Frank Mori Hess [Sat, 28 Jan 2006 15:31:54 +0000 (15:31 +0000)]
Patch from abbotti@mev.co.uk (Ian Abbott):
Micheal Head reported problems with the PCI230 generating interrupts constantly
in his system.
Looking at the source code, that could happen if the AI interrupt handler
(pci230_handle_ai) detects a FIFO overrun error. In that case, it ends up
turning the ADC interrupt source back on in the board's INT_SCE by mistake after
cancelling the transfer, resulting in continuous unhandled interrupts.
I have a patch to fix the above and initialize the INT_SCE register before
hooking up the interrupt with request_irq.
Frank Mori Hess [Sat, 28 Jan 2006 15:19:42 +0000 (15:19 +0000)]
Added new driver for Winsystems PCM DA-12 AO board from
calin@ajvar.org (Calin A. Culianu).
Frank Mori Hess [Sat, 28 Jan 2006 15:03:32 +0000 (15:03 +0000)]
Driver update from calin@ajvar.org (Calin A. Culianu):
fixes bugs in the immediate mode read/write instructions, (they work 100% now).
I also added IRQ support to do commands/edge-detect interrupts, etc... but that
is entirely untested.
Frank Mori Hess [Thu, 19 Jan 2006 22:16:57 +0000 (22:16 +0000)]
Added define of c6xdigio_ko_SOURCES
Frank Mori Hess [Mon, 16 Jan 2006 15:02:29 +0000 (15:02 +0000)]
Patch from abbotti@mev.co.uk (Ian Abbott) which makes external
input the default source for counter channel 0.
Frank Mori Hess [Sun, 15 Jan 2006 21:46:58 +0000 (21:46 +0000)]
Patch from Ian Abbott <abbotti@mev.co.uk>, to enable counter for
pci-1711.
Frank Mori Hess [Sun, 15 Jan 2006 21:41:25 +0000 (21:41 +0000)]
New driver for the PCM-UIO48A and PCM-UIO96A boards from Winsystems,
from calin@ajvar.org (Calin A. Culianu).
Frank Mori Hess [Sun, 15 Jan 2006 20:35:23 +0000 (20:35 +0000)]
Fix compile against 2.6.15 kernel by using CLASS_DEVICE_CREATE
compatibility macro.
Frank Mori Hess [Sun, 15 Jan 2006 20:34:35 +0000 (20:34 +0000)]
Fixed a couple compile warnings.
Frank Mori Hess [Sun, 15 Jan 2006 20:34:09 +0000 (20:34 +0000)]
Added CLASS_DEVICE_CREATE compaitibility macro, based on patch from
abbotti@mev.co.uk (Ian Abbott).
Frank Mori Hess [Sun, 15 Jan 2006 20:10:03 +0000 (20:10 +0000)]
Added compatibility header for linux/pci_ids.h, which fixes
compile against 2.6.15 kernels.
Frank Mori Hess [Sun, 15 Jan 2006 20:00:03 +0000 (20:00 +0000)]
Patch from abbotti@mev.co.uk (Ian Abbott), fixes following problem:
New compiler option in kernel Makefile blows away all comedi compilation:
-include include/linux/autoconf.h
Frank Mori Hess [Sun, 8 Jan 2006 16:37:27 +0000 (16:37 +0000)]
Added support for calibration pwm output used for nonlinearity calibration
of m-series boards.
Frank Mori Hess [Wed, 4 Jan 2006 02:54:12 +0000 (02:54 +0000)]
Give full user-space access to all possible internal calibration sources.
Frank Mori Hess [Wed, 4 Jan 2006 02:53:40 +0000 (02:53 +0000)]
Corrected value for MSeries_AI_Bypass_Bank_Mask
Frank Mori Hess [Mon, 2 Jan 2006 21:53:00 +0000 (21:53 +0000)]
Added support for reading eeprom on m-series boards. Added partial
support for CR_ALT_SOURCE with m-series boards.
Frank Mori Hess [Mon, 2 Jan 2006 01:11:30 +0000 (01:11 +0000)]
Fixed ai range codes for 622x boards.
Frank Mori Hess [Mon, 2 Jan 2006 00:16:31 +0000 (00:16 +0000)]
Err, undid my last "fix" which was wrong.
Frank Mori Hess [Mon, 2 Jan 2006 00:12:01 +0000 (00:12 +0000)]
Fixed reading of alt ai sources with 611x boards.
Frank Mori Hess [Sun, 1 Jan 2006 23:20:51 +0000 (23:20 +0000)]
Fixed munging for ao commands with m-series boards.
Frank Mori Hess [Sun, 1 Jan 2006 23:15:55 +0000 (23:15 +0000)]
Fixed caldacs and ai ranges in board array for m-series boards.
Frank Mori Hess [Sat, 31 Dec 2005 23:53:06 +0000 (23:53 +0000)]
Added support for a couple missing ao registers to m_series_stc_writew()
Frank Mori Hess [Wed, 28 Dec 2005 17:13:56 +0000 (17:13 +0000)]
Fixed ai munging and dma setup for 18 bit m-series boards. ai commands
seem to work now.
Frank Mori Hess [Wed, 28 Dec 2005 17:12:42 +0000 (17:12 +0000)]
Added some missing registers used by ai commands to m_series_stc_writew().
Frank Mori Hess [Thu, 22 Dec 2005 02:21:36 +0000 (02:21 +0000)]
Fix 2's complement munging for ai insn with 18 bit boards.
insn work for ai on pci-6289 now.
Frank Mori Hess [Wed, 21 Dec 2005 03:04:52 +0000 (03:04 +0000)]
Added support for various m-series ao ranges.
Frank Mori Hess [Tue, 20 Dec 2005 23:23:01 +0000 (23:23 +0000)]
Fixed compile error I just created with last change.
Frank Mori Hess [Tue, 20 Dec 2005 23:21:58 +0000 (23:21 +0000)]
give an error message when user fails to provide firmware, and fix
bug in test for whether firmware was provided.
Frank Mori Hess [Tue, 20 Dec 2005 03:25:58 +0000 (03:25 +0000)]
Figured out some more ao range related bits.
Frank Mori Hess [Tue, 20 Dec 2005 00:13:05 +0000 (00:13 +0000)]
Fixed up some m-series board entries using board specification documents.
Frank Mori Hess [Mon, 19 Dec 2005 01:32:17 +0000 (01:32 +0000)]
ao write instructions work on pci-6289 after adding initialization of
AO_Calibration register (turns off grounding of ao reference).
Frank Mori Hess [Mon, 19 Dec 2005 00:42:35 +0000 (00:42 +0000)]
Some fixes for m series ai/ao instructions. ao instructions definitely
don't work yet.
Frank Mori Hess [Mon, 19 Dec 2005 00:41:18 +0000 (00:41 +0000)]
Added some missing AO registers for m-series
Frank Mori Hess [Sun, 18 Dec 2005 20:26:42 +0000 (20:26 +0000)]
Implemented writes to some missing registers in m_series_stc_writew().
Frank Mori Hess [Sun, 18 Dec 2005 17:16:22 +0000 (17:16 +0000)]
Added offsets for GPCT registers on m-series
Frank Mori Hess [Sun, 18 Dec 2005 15:56:44 +0000 (15:56 +0000)]
Allow for up to 8 dma channels on mite.
Frank Mori Hess [Thu, 15 Dec 2005 00:01:18 +0000 (00:01 +0000)]
Patch from "Andreas Leuner" <al14@inf.tu-dresden.de>:
I have modified the rtai.m4 script locally to recognize a kernel with
ipipe support. With this the generated configure script detects ipipe
support and activates RTAI support. The so modified comedi compiles fine
and modules load without any crashes. However I haven't tested the result
with real daq hardware yet.
Frank Mori Hess [Wed, 14 Dec 2005 13:10:34 +0000 (13:10 +0000)]
Added preliminary board entries for m-series boards
Frank Mori Hess [Mon, 12 Dec 2005 01:56:52 +0000 (01:56 +0000)]
Fixed null dereference in attach.
Frank Mori Hess [Mon, 12 Dec 2005 01:44:39 +0000 (01:44 +0000)]
Some reg_type fixes for m-series
Frank Mori Hess [Mon, 12 Dec 2005 00:29:05 +0000 (00:29 +0000)]
First pass at m-series support done. AI/AO might possibly work (after
adding entries for m-series boards to board array),
digital subdevices definitely won't yet.
Frank Mori Hess [Sun, 11 Dec 2005 21:41:27 +0000 (21:41 +0000)]
Fixed array overrun for boards with more than 2 ao channels.
Frank Mori Hess [Mon, 5 Dec 2005 03:32:21 +0000 (03:32 +0000)]
Added enumeration of all m series register offsets.
Frank Mori Hess [Mon, 5 Dec 2005 01:05:18 +0000 (01:05 +0000)]
Patch from abbotti@mev.co.uk (Ian Abbott):
KREF_PUT can be simplified for 2.6.12 upwards - it just needs to call kref_put
and pass on the return value.
Also, the kref stuff first appeared in 2.6.5, not 2.6.0.
Frank Mori Hess [Sun, 4 Dec 2005 03:20:36 +0000 (03:20 +0000)]
Added some notes on registers which have moved under m-series
Frank Mori Hess [Sun, 4 Dec 2005 03:20:08 +0000 (03:20 +0000)]
use win_out2 macro for write to AI_SC_Load_A_Registers
Frank Mori Hess [Sun, 4 Dec 2005 03:19:31 +0000 (03:19 +0000)]
Removed obsolete comment about 6733 pci id.
David Schleef [Wed, 30 Nov 2005 17:51:24 +0000 (17:51 +0000)]
new driver
Frank Mori Hess [Wed, 23 Nov 2005 22:51:42 +0000 (22:51 +0000)]
Patch from Dave <dfelson.celson@virgin.net>:
Tried the NI 6602 in single pulse, surprised (!) the
case INSN_CONFIG_GPCT_SINGLE_PULSE_GENERATOR:
ran into the
case INSN_CONFIG_GPCT_PULSE_TRAIN_GENERATOR:
without a break.