Frank Mori Hess [Tue, 16 Sep 2008 13:59:10 +0000 (13:59 +0000)]
Added insn_bits_supported field to subdevice info ioctl, as part
of a fix for:
BUG in do_test_for_insn_bits()
: Device or resource busy
when a program opens a device file
and one of the subdevices is busy when it
is opened.
Ian Abbott [Fri, 5 Sep 2008 13:52:34 +0000 (13:52 +0000)]
Corrected option indices in documentation.
Frank Mori Hess [Thu, 4 Sep 2008 23:27:18 +0000 (23:27 +0000)]
Trying to sort out when we need to write to the second tio chip's
ioconfig registers.
Ian Abbott [Mon, 1 Sep 2008 10:03:58 +0000 (10:03 +0000)]
Tidied up the initializer for ni_boards[].
Frank Mori Hess [Fri, 15 Aug 2008 20:42:00 +0000 (20:42 +0000)]
The big kernel lock was never held during read() or write() system
calls, only during ioctls. There should be no reason the device's mutex
needs to be locked during read or write operations.
Frank Mori Hess [Fri, 15 Aug 2008 20:35:58 +0000 (20:35 +0000)]
device_create is not fully functional in linux 2.6.18.
Ian Abbott [Tue, 5 Aug 2008 15:01:21 +0000 (15:01 +0000)]
#ifdef out unused functions 'lock_port()' and 'unlock_port()' to avoid
compiler warnings.
Ian Abbott [Tue, 5 Aug 2008 14:54:56 +0000 (14:54 +0000)]
Made firmware data pointer 'const' to avoid compiler warnings for 2.6.27-rc1.
Ian Abbott [Tue, 5 Aug 2008 14:43:40 +0000 (14:43 +0000)]
Parameters of device_create() changed in 2.6.27-rc1, so call compatibility
macro COMEDI_DEVICE_CREATE() instead.
Frank Mori Hess [Wed, 30 Jul 2008 13:13:22 +0000 (13:13 +0000)]
We don't need to clear the AO_Update_Timed bit on all unused ao channels
unless we are configuring the chanlist for a command.
Ian Abbott [Tue, 29 Jul 2008 15:32:41 +0000 (15:32 +0000)]
Some INSN_READ fixes for AI subdevice: enable conversion on requested
channel, munge 2's complement data to offset binary, set maxdata to 0xffff.
Also add the two reference voltage channels to the AI subdevice.
Frank Mori Hess [Tue, 29 Jul 2008 15:25:40 +0000 (15:25 +0000)]
Trying to fix bug #265, where ao channels seem to get put in timed update
mode and left there by ao commands.
Ian Abbott [Thu, 17 Jul 2008 12:11:58 +0000 (12:11 +0000)]
Added an explanatory comment for the device_create() compatibility stuff.
Ian Abbott [Tue, 15 Jul 2008 13:02:47 +0000 (13:02 +0000)]
#ifdef out unused functions 'lock_port()' and 'unlock_port()' to avoid
compiler warnings.
Ian Abbott [Tue, 15 Jul 2008 12:57:40 +0000 (12:57 +0000)]
Need to check result of down_interruptible(). Return -EINTR if it fails.
Ian Abbott [Tue, 15 Jul 2008 12:42:15 +0000 (12:42 +0000)]
Corrected previous correction for PCMCIA test (silly typo).
Ian Abbott [Tue, 15 Jul 2008 12:24:02 +0000 (12:24 +0000)]
'struct class_device' removed from 2.6.26 kernel, so use 'device_create()'
and 'device_destroy()' instead of 'class_device_create()' and
class_device_destroy()'.
Frank Mori Hess [Fri, 27 Jun 2008 18:00:26 +0000 (18:00 +0000)]
Fixed poll/select on write subdevice.
Frank Mori Hess [Sun, 15 Jun 2008 15:45:47 +0000 (15:45 +0000)]
Fixed number of output samples for m-series boards when using analog
output command with stop_src==TRIG_COUNT
Frank Mori Hess [Sat, 24 May 2008 23:15:19 +0000 (23:15 +0000)]
Fixed configure check for linux/mutex.h
Ian Abbott [Wed, 30 Apr 2008 13:46:26 +0000 (13:46 +0000)]
Ignore data and data_len in comedi_cmd.
Ian Abbott [Mon, 28 Apr 2008 17:24:15 +0000 (17:24 +0000)]
Added MODULE_DEVICE_TABLE.
Ian Abbott [Mon, 28 Apr 2008 16:53:05 +0000 (16:53 +0000)]
Made some data 'const'.
Ian Abbott [Mon, 28 Apr 2008 15:57:58 +0000 (15:57 +0000)]
Use DEFINE_PCI_DEVICE_TABLE() macro to declare PCI device table.
Ian Abbott [Mon, 28 Apr 2008 15:27:21 +0000 (15:27 +0000)]
Add compatibility for DEFINE_PCI_DEVICE_TABLE() macro.
Frank Mori Hess [Mon, 28 Apr 2008 01:08:21 +0000 (01:08 +0000)]
Fixed adv_pci_dio to use module name as comedi_config name, as all
pci drivers do.
Ian Abbott [Fri, 25 Apr 2008 11:57:53 +0000 (11:57 +0000)]
Fixed an obvious typo in a comment (OCI --> PCI).
Ian Abbott [Fri, 18 Apr 2008 15:44:49 +0000 (15:44 +0000)]
Don't tag module device tables with '__devinitdata'.
Ian Abbott [Fri, 18 Apr 2008 15:29:41 +0000 (15:29 +0000)]
Moved me4000_pci_table[] from me4000.h to me4000.c.
Ian Abbott [Fri, 18 Apr 2008 15:20:04 +0000 (15:20 +0000)]
Fixed compilation error for 2.6.25 kernel. Moved '__devinitdata' to left
side of '=' operator.
Ian Abbott [Fri, 18 Apr 2008 13:47:38 +0000 (13:47 +0000)]
Use __module_get(THIS_MODULE) instead of try_module_get(THIS_MODULE) as we
know our own module is active.
Ian Abbott [Fri, 18 Apr 2008 13:44:12 +0000 (13:44 +0000)]
Don't bother checking MOD_IN_USE in comedi_cleanup.
Ian Abbott [Fri, 18 Apr 2008 13:40:09 +0000 (13:40 +0000)]
Added __module_get() compatibility (just in case we ever support 2.4.x
kernels again!).
Ian Abbott [Wed, 16 Apr 2008 15:05:46 +0000 (15:05 +0000)]
Changed initializers of 'ni_gainlkup[][16]' and 'ni_range_lkup[]' to use
index designators (just to help readability).
Frank Mori Hess [Wed, 16 Apr 2008 12:45:50 +0000 (12:45 +0000)]
Fixed value that used to calculate ao hardware fifo size which was
in number of samples, but should have been number
of bytes.
Ian Abbott [Mon, 14 Apr 2008 14:58:50 +0000 (14:58 +0000)]
Corrected error in previous commit (PCI bus/slot option support).
Ian Abbott [Mon, 14 Apr 2008 14:47:56 +0000 (14:47 +0000)]
Added PCI bus/slot configuration options.
Ian Abbott [Mon, 14 Apr 2008 14:43:44 +0000 (14:43 +0000)]
Documented pci bus/slot configuration options.
Ian Abbott [Mon, 14 Apr 2008 14:17:28 +0000 (14:17 +0000)]
Updated heading comment as the PCI bus/slot options were incorrectly
marked as "unimplemented".
Ian Abbott [Mon, 14 Apr 2008 14:13:57 +0000 (14:13 +0000)]
Describe bus/slot options.
Ian Abbott [Mon, 14 Apr 2008 10:00:59 +0000 (10:00 +0000)]
Added Stephen Chivers (Advantech PCI-1736UP support).
Ian Abbott [Mon, 14 Apr 2008 09:59:29 +0000 (09:59 +0000)]
Moved a few entries to keep in order.
Ian Abbott [Mon, 14 Apr 2008 09:53:33 +0000 (09:53 +0000)]
Added support for Advantech PCI-1736UP.
(Code supplied by Stephen Chivers <schivers at csc dot com dot au>.)
Ian Abbott [Sat, 12 Apr 2008 20:24:03 +0000 (20:24 +0000)]
Corrected PCMCIA test in revision 1.43.
Ian Abbott [Sat, 12 Apr 2008 20:12:42 +0000 (20:12 +0000)]
Oops, I forgot the module init and exit functions!
Ian Abbott [Fri, 11 Apr 2008 15:54:27 +0000 (15:54 +0000)]
Stopped the 'ni_atmio' and 'ni_mio_cs' drivers depending on the 'mite'
module indirectly. The 'ni_tio' module has been split into two modules,
'ni_tio' and 'ni_tiocmd'. The 'ni_tiocmd' module has the command
processing that depends on the 'mite' module. The 'ni_tio' module no
longer depends on 'mite'.
Also fixed some .symvers dependencies for non-Kbuild builds.
Ian Abbott [Fri, 11 Apr 2008 11:16:41 +0000 (11:16 +0000)]
Changed condition for including <asm/bug.h>.
Ian Abbott [Fri, 11 Apr 2008 11:11:28 +0000 (11:11 +0000)]
Changed linux/kref.h compatibility header to make the API appear to be like
it is in the 2.6.12 kernel.
Ian Abbott [Thu, 10 Apr 2008 17:44:24 +0000 (17:44 +0000)]
Corrected previous commit.
Ian Abbott [Thu, 10 Apr 2008 17:18:11 +0000 (17:18 +0000)]
I broke it in the previous commit.
Ian Abbott [Thu, 10 Apr 2008 14:43:06 +0000 (14:43 +0000)]
Allow Comedi to be built without PCI drivers. The PCI drivers won't be built
if the kernel has no PCI support or if a new configure option '--disable-pci'
is used.
Ian Abbott [Thu, 10 Apr 2008 11:01:40 +0000 (11:01 +0000)]
Moved labpc_cs_boards[] from ni_labpc.c to ni_labpc_cs.c and exported
range_labpc_1200_ai, labpc_1200_ai_gain_bits[] and labpc_1200_is_unipolar[]
from ni_labpc.c for use by ni_labpc_cs.c.
Ian Abbott [Thu, 10 Apr 2008 09:57:29 +0000 (09:57 +0000)]
Added automake conditionals CONFIG_COMEDI_USB and CONFIG_COMEDI_PCMCIA and
used these in place of the automake conditionals CONFIG_USB and
CONFIG_PCMCIA. The automake conditionals CONFIG_USB and CONFIG_PCMCIA are
no longer used (currently) but they no longer depend on the --disable-usb
or --disable-pcmcia configure options. The new automake conditional
CONFIG_COMEDI_USB/CONFIG_COMEDI_PCMCIA is 'FALSE' if --disable-usb/
--disable-pcmcia is specified; otherwise it has the same value as
CONFIG_USB/CONFIG_PCMCIA.
Added config.h defines CONFIG_COMEDI_USB and CONFIG_COMEDI_PCMCIA which are
defined only if the corresponding automake conditional is 'TRUE'.
Changed the --(en|dis)able-pcmcia option so that it is no longer necessary
to specify --enable-pcmcia explicitly to build the PCMCIA modules.
Frank Mori Hess [Tue, 1 Apr 2008 19:10:35 +0000 (19:10 +0000)]
Fixed single-channel ao waveform on 6xxx boards, which I broke with
last commit.
Frank Mori Hess [Tue, 1 Apr 2008 15:27:49 +0000 (15:27 +0000)]
Fixed multi-channel analog output commands on pxi-6713.
Frank Mori Hess [Fri, 28 Mar 2008 15:15:59 +0000 (15:15 +0000)]
Added INSN_CONFIG_GET_HARDWARE_BUFFER_SIZE and implemented for
analog output of NI boards.
Frank Mori Hess [Fri, 28 Mar 2008 14:07:45 +0000 (14:07 +0000)]
Changed INSN_GET_PWM_STATUS to INSN_CONFIG_GET_PWM_STATUS.
Ian Abbott [Wed, 26 Mar 2008 14:27:16 +0000 (14:27 +0000)]
Added yonggang <rsmgnu at gmail dot com> (Advantech PCI-1723 driver).
Frank Mori Hess [Wed, 26 Mar 2008 14:10:02 +0000 (14:10 +0000)]
Fix for crashes with dma enabled using pci-6143. Based on patch from
Terry Barnaby <terry1@beam.ltd.uk>, who also identified and located the
source of the problem.
Ian Abbott [Tue, 25 Mar 2008 12:50:38 +0000 (12:50 +0000)]
Used DPRINTK() instead of rt_printk() in a few places to generate less
output on the kernel log by default.
Ian Abbott [Tue, 25 Mar 2008 12:42:38 +0000 (12:42 +0000)]
Used comedi_pci_enable() and comedi_pci_disable().
Ian Abbott [Tue, 25 Mar 2008 12:36:00 +0000 (12:36 +0000)]
Removed commented-out variables.
Ian Abbott [Tue, 25 Mar 2008 12:27:53 +0000 (12:27 +0000)]
Updated documentation comment and put it in a standard form.
Ian Abbott [Tue, 25 Mar 2008 12:10:13 +0000 (12:10 +0000)]
Applied comedi_indent script to source.
Ian Abbott [Tue, 25 Mar 2008 11:56:07 +0000 (11:56 +0000)]
Added Advantech PCI-1723 driver by yonggang <rsmgnu at gmail dot com>.
Frank Mori Hess [Fri, 21 Mar 2008 18:48:51 +0000 (18:48 +0000)]
... and check that ai_mite_chan is not NULL after we have spinlock.
Frank Mori Hess [Fri, 21 Mar 2008 18:45:23 +0000 (18:45 +0000)]
Added missing spinlock around usage of devpriv->ai_mite_chan
Ian Abbott [Fri, 14 Mar 2008 15:31:22 +0000 (15:31 +0000)]
Fixed check for unspecified clock period for clock source NI_MIO_RTSI_CLOCK
in function ni_set_master_clock(). (Patch from Terry Barnaby of Beam Ltd.)
Ian Abbott [Wed, 12 Mar 2008 13:21:58 +0000 (13:21 +0000)]
Prevent dereference of NULL chanlist pointer in ai cmdtest leading to
kernel Oops.
Ian Abbott [Wed, 5 Mar 2008 14:14:01 +0000 (14:14 +0000)]
Set SDF_CMD_READ subdevice flag if do_cmd and do_cmdtest are set.
Only set read_subdev if do_cmd and do_cmdtest are set.
Don't set write_subdev as no subdevice supports write commands.
Ian Abbott [Thu, 21 Feb 2008 12:47:49 +0000 (12:47 +0000)]
Added Fred Brooks (ni_daq_700 driver).
Ian Abbott [Thu, 21 Feb 2008 12:36:10 +0000 (12:36 +0000)]
Changed subdev_700_insn to include the state of the output channels
(0 to 7) in the returned data. This may be inaccurate unless the output
channels have been written at least once.
Ian Abbott [Thu, 21 Feb 2008 12:26:24 +0000 (12:26 +0000)]
Changed the name in the second entry of the boards array to "ni_daq_700"
to match the driver name. This is an alias of the first entry which has
the name "daqcard-700".
Ian Abbott [Thu, 21 Feb 2008 12:22:31 +0000 (12:22 +0000)]
Removed spurious '#define _700_H'.
Ian Abbott [Thu, 21 Feb 2008 12:20:53 +0000 (12:20 +0000)]
Updated driver description using information from other comments.
Ian Abbott [Thu, 21 Feb 2008 12:02:27 +0000 (12:02 +0000)]
Ran source through comedi_indent script.
Ian Abbott [Thu, 21 Feb 2008 11:54:51 +0000 (11:54 +0000)]
Added NI DAQCard-700 DIO-only driver by fred brooks.
Ian Abbott [Thu, 21 Feb 2008 11:21:47 +0000 (11:21 +0000)]
Applied update to driver documentation section from jeremy theler:
- corrected 'Devices' line
- updated status
- updated description and changelog.
I corrected the year in jeremy's updated 'Updated' line.
Ian Abbott [Fri, 15 Feb 2008 10:57:25 +0000 (10:57 +0000)]
Add PCI bus/slot options.
Frank Mori Hess [Fri, 8 Feb 2008 19:03:07 +0000 (19:03 +0000)]
Fixed spelling error "sucess"->"success".
Bernd Porr [Tue, 5 Feb 2008 22:47:03 +0000 (22:47 +0000)]
forgotten to uncomment the debug macro. Soooory.
Bernd Porr [Tue, 5 Feb 2008 22:43:48 +0000 (22:43 +0000)]
Silly mistake in the frequency setting. Sent out the wrong variable
to the dux board so that the frequency was more or less a random choice.
Thanks for Sam for figuring that out.
Ian Abbott [Mon, 4 Feb 2008 16:47:54 +0000 (16:47 +0000)]
For separate kernel source and build directories, allow the kernel build
directory's Makefile to specify KERNELSRC using a relative path.
This avoids having to use the --with-kernelsrcdir option when configuring
Comedi for SuSE Linux's kernels.
Frank Mori Hess [Wed, 30 Jan 2008 16:39:06 +0000 (16:39 +0000)]
Modified output to be tab-delimited (for easier parsing later into a
html table).
Frank Mori Hess [Mon, 28 Jan 2008 21:09:42 +0000 (21:09 +0000)]
regenerated ChangeLog with "cvs2cl -T"
Frank Mori Hess [Mon, 28 Jan 2008 20:51:14 +0000 (20:51 +0000)]
bumped version for 0.7.76 release.
Frank Mori Hess [Mon, 28 Jan 2008 20:04:24 +0000 (20:04 +0000)]
Allow generation of devices.txt and drivers.txt to work
when builddir != srcdir.
Frank Mori Hess [Mon, 28 Jan 2008 20:03:04 +0000 (20:03 +0000)]
Suppress some compiler warnings
Frank Mori Hess [Mon, 28 Jan 2008 19:32:30 +0000 (19:32 +0000)]
Replaced an "if(0)" with an "#if 0".
Ian Abbott [Mon, 28 Jan 2008 13:54:16 +0000 (13:54 +0000)]
Fix bug in ni_pcidio_release_di_mite_channel() that prevented subsequent
commands working (it never set devpriv->di_mite_chan to NULL after calling
mite_release_channel()).
Ian Abbott [Wed, 16 Jan 2008 17:03:48 +0000 (17:03 +0000)]
Corrected number of channels for DO subdevice.
Ian Abbott [Mon, 14 Jan 2008 18:05:35 +0000 (18:05 +0000)]
In comedi_do_insn:
For INSN_WAIT, make sure insn->n is exactly 1.
For subdevice instructions, if subdevice is unused, return -EIO.
For subdevice instructions, if chanspec is wrong, return -EINVAL.
Ian Abbott [Mon, 14 Jan 2008 17:59:31 +0000 (17:59 +0000)]
In comedi_do_insn, #if'ed out the final check for return value of subdevice
insn function matching insn.n. Comedi documentation for userspace
comedi_do_insn allows a lower value to be returned and some drivers
blatently do so, particularly for configuration instructions.
Also added some XXX reminder comments for INSN_WAIT and INSN_CONFIG for
things that need to be fixed.
Ian Abbott [Mon, 14 Jan 2008 12:26:16 +0000 (12:26 +0000)]
Corrected test for INSN_WRITE data value exceeding maxdata. It failed on
subdevices that used per-channel maxdata values (maxdata_list).
Ian Abbott [Mon, 14 Jan 2008 12:13:26 +0000 (12:13 +0000)]
Applied comedi_indent script.
Bernd Porr [Sun, 13 Jan 2008 23:07:02 +0000 (23:07 +0000)]
Added a proper PWM subdevice for comedi.
PWM is started with INSN_CONFIG_ARM where the second argument
defines the time how long PWM will last. A zero indicates "forever".
PWM is stopped with INSN_CONFIG_DISARM. No further args.
The duty cycle is set via a comedi_data_write where maxdata defines
the 100% duty cycle.
The PWM period is set by INSN_CONFIG_PWM_SET_PERIOD where the second
argument is in nanoseconds, thus 1E9/frequency
INSN_CONFIG_PWM_GET_PERIOD retrieves the frequency which might have been
corrected by the driver
INSN_GET_PWM_STATUS queries if it's on or off
INSN_CONFIG_PWM_SET_H_BRIDGE allows the transmit the duty cycle with a polarity bit in the second argument.
See the usbdux driver and its PWM section.
Ian Abbott [Mon, 7 Jan 2008 11:05:21 +0000 (11:05 +0000)]
Only set SRF_RT subdevice flag if comedi_switch_to_rt(dev) succeeds.
Ian Abbott [Wed, 2 Jan 2008 17:41:47 +0000 (17:41 +0000)]
For COMEDI_DEVCONFIG ioctl, if argument is NULL, refuse to unconfigure the
device if any subdevices are busy or have mmap'ed buffers. The errno is
EBUSY in this case.
Ian Abbott [Wed, 2 Jan 2008 17:04:21 +0000 (17:04 +0000)]
Changed read, write, poll, and mmap file operations to use the per-device
mutex. The mutex is released during read and write operations that block.
Frank Mori Hess [Wed, 2 Jan 2008 02:17:43 +0000 (02:17 +0000)]
Added board entry for 6013.