Ian Abbott [Wed, 12 Aug 2009 16:04:43 +0000 (16:04 +0000)]
When reading DO subdevice with inverted outputs invert the values read back
from the ports to match the inversion of values written.
Ian Abbott [Wed, 12 Aug 2009 15:56:14 +0000 (15:56 +0000)]
Fix insn_bits bitshift calculation for subdevice with non-zero base_port.
Thanks to Jérôme Carretero (cJ-comedi at zougloub dot eu) for spotting the
bug.
Ian Abbott [Fri, 7 Aug 2009 14:57:47 +0000 (14:57 +0000)]
Take account of arch's bitfield order.
Ian Abbott [Fri, 7 Aug 2009 14:40:20 +0000 (14:40 +0000)]
Get rid of global variable 'cmReg'.
Ian Abbott [Fri, 7 Aug 2009 14:33:55 +0000 (14:33 +0000)]
Some changes and corrections to handling of
INSN_CONFIG_GPCT_QUADRATURE_ENCODER, INSN_CONFIG_GPCT_SINGLE_PULSE_GENERATOR,
and INSN_CONFIG_GPCT_PULSE_TRAIN_GENERATOR, so they interpret insn->data[]
as per the comments in the code.
Ian Abbott [Fri, 7 Aug 2009 14:00:01 +0000 (14:00 +0000)]
Correct number of channels on DIO subdevice. Correct operation of
INSN_CONFIG_DIO_INPUT and INSN_CONFIG_DIO_OUTPUT and support
INSN_CONFIG_DIO_QUERY.
Thanks to Alessio Margan for some testing.
Ian Abbott [Fri, 7 Aug 2009 13:08:59 +0000 (13:08 +0000)]
Store PCI device IDs in the board info and use this for matching IDs in the
code instead of using the module device table.
This avoids a "section mismatch" error.
Ian Abbott [Fri, 7 Aug 2009 12:50:47 +0000 (12:50 +0000)]
Needed some more M4 quoting in AS_LINUX_SRC_DIR().
Ian Abbott [Fri, 19 Jun 2009 10:50:50 +0000 (10:50 +0000)]
s626: Match PCI subvendor and subdevice IDs to avoid conflict with other
cards using Philips SAA7146A PCI multimedia bridge chip.
Ian Abbott [Tue, 2 Jun 2009 18:57:14 +0000 (18:57 +0000)]
Made sysfs attribute code compatible with earlier kernels.
Ian Abbott [Tue, 2 Jun 2009 15:25:33 +0000 (15:25 +0000)]
jr3_pci: Initialize transf variable fully in jr3_pci_poll_subdevice().
Bernd Porr [Sun, 24 May 2009 18:51:39 +0000 (18:51 +0000)]
added code of buffer overflow. The async acquision stops as soon
as there's a buffer overflow.
Ian Abbott [Fri, 22 May 2009 11:11:13 +0000 (11:11 +0000)]
When checking for separate Linux source and build directory, ignore any
extra paramters after MAKEARGS := -C $(SOURCE_DIR).
Fixes Debian bug #526707.
Ian Abbott [Mon, 11 May 2009 10:15:12 +0000 (10:15 +0000)]
Add strict_strtoX() compatibilty functions for kernel < 2.6.25.
Reported by labrat <tvrkng -at- gmail -dot- com>.
Ian Abbott [Mon, 11 May 2009 09:37:41 +0000 (09:37 +0000)]
Corrected type of a printk argument in resize_async_buffer().
Frank Mori Hess [Mon, 6 Apr 2009 16:37:47 +0000 (16:37 +0000)]
Use struct device from pci_dev for firmware loading.
Frank Mori Hess [Mon, 6 Apr 2009 16:36:50 +0000 (16:36 +0000)]
Fixed some compiler warnings due to const-ness problems.
Frank Mori Hess [Mon, 6 Apr 2009 15:28:01 +0000 (15:28 +0000)]
Can't rely on pte_offset_kernel being a macro on newer kernels.
Frank Mori Hess [Mon, 6 Apr 2009 15:17:26 +0000 (15:17 +0000)]
2.6.30 kernel won't define IRQ_NONE as a macro.
Frank Mori Hess [Thu, 2 Apr 2009 19:14:55 +0000 (19:14 +0000)]
Added sysfs attribute files for setting and querying subdevice
buffer sizes.
Ian Abbott [Wed, 1 Apr 2009 14:43:14 +0000 (14:43 +0000)]
Corrected documentation. Interrupt is triggered by rising edge on
port C bit 3 (not bit 7).
Ian Abbott [Wed, 1 Apr 2009 11:27:00 +0000 (11:27 +0000)]
Changes for 2.6.29 kernel. info() removed from <linux/usb.h>.
Ian Abbott [Thu, 19 Mar 2009 19:24:32 +0000 (19:24 +0000)]
Undo stupid commit made 3 months ago:
"Fix redefinition of macro comedi_rt_task_context_t".
It wasn't being redefined, it was being defined for RTLinux.
Ian Abbott [Thu, 19 Mar 2009 19:12:52 +0000 (19:12 +0000)]
Work around malformed RTAI_VERSION_CODE.
Frank Mori Hess [Tue, 17 Mar 2009 21:06:20 +0000 (21:06 +0000)]
Added support for comedi_poll.
Ian Abbott [Tue, 3 Mar 2009 14:02:33 +0000 (14:02 +0000)]
pcl818: Tidy up AI command after channel dropout or similar error. It was
causing subsequent commands to fail with -EBUSY.
Ian Abbott [Thu, 26 Feb 2009 18:47:55 +0000 (18:47 +0000)]
pcl818: Fix option handling for FIFO mode (hopefully!).
Ian Abbott [Mon, 9 Feb 2009 16:51:38 +0000 (16:51 +0000)]
comedi_open: Fix null pointer dereference.
Ian Abbott [Mon, 9 Feb 2009 16:32:12 +0000 (16:32 +0000)]
Fix GCC warning in call to request_module(): "format not a string literal
and no format arguments".
Ian Abbott [Fri, 30 Jan 2009 12:59:26 +0000 (12:59 +0000)]
Use explicit value for enumerated constant INSN_CONFIG_GET_HARDWARE_BUFFER_SIZE.
Ian Abbott [Tue, 27 Jan 2009 15:11:28 +0000 (15:11 +0000)]
Replace occurrences of <module>.o with <module>.ko .
Ian Abbott [Tue, 6 Jan 2009 14:13:28 +0000 (14:13 +0000)]
PCMCIA changes for compatibility with 2.6.28 kernel.
'CS-SUCCESS' and other special error codes are gone.
'pcmcia_parse_tuple()' now has two arguments, not three.
Ian Abbott [Tue, 16 Dec 2008 13:09:56 +0000 (13:09 +0000)]
Fix redefinition of macro comedi_rt_task_context_t.
Frank Mori Hess [Mon, 15 Dec 2008 13:48:47 +0000 (13:48 +0000)]
Return error instead of segfaulting if user trys to run comedi_config on
a device file with and invalid minor number.
Frank Mori Hess [Mon, 15 Dec 2008 13:44:45 +0000 (13:44 +0000)]
Added some validation of comedi module parameter values.
Bernd Porr [Tue, 9 Dec 2008 18:41:53 +0000 (18:41 +0000)]
Explained the new mechanisms for autoconfig of devices and the
associtated module parameters.
Frank Mori Hess [Tue, 9 Dec 2008 14:47:22 +0000 (14:47 +0000)]
Fixed minor numbers for subdevice files.
Ian Abbott [Tue, 9 Dec 2008 11:07:22 +0000 (11:07 +0000)]
Make comedi_auto_config() succeed when auto-configuration disabled.
Bernd Porr [Mon, 8 Dec 2008 23:35:42 +0000 (23:35 +0000)]
Removed the constant for the legacy minors
Bernd Porr [Mon, 8 Dec 2008 23:30:13 +0000 (23:30 +0000)]
As suggested the legacy device count is set to zero. A new module parameter
for comedi_fops allows setting the number of legacy devices: comedi_num_legacy_minors. The default is zero.
usbdux and usbduxfast upload now their firmware via the firmware kernel meachanism. No udev rules are needed for that except the default ones. The firmware will usually be loaded from /lib/firmware. Upload via comedi_config is still possible for static comedi devices (comedi_num_legacy_minors>0). Frank, thanks for the example code which sped up rewriting of the code substantially.
Ian Abbott [Mon, 8 Dec 2008 17:05:50 +0000 (17:05 +0000)]
Add a module parameter 'comedi_autoconfig'. Set it to 0 or 'N' to disable
autoconfiguration. It is enabled by default.
Frank Mori Hess [Sat, 6 Dec 2008 15:43:23 +0000 (15:43 +0000)]
Fixed bug in firmware loading with multiple usbduxfast boards.
Ian Abbott [Wed, 3 Dec 2008 10:58:33 +0000 (10:58 +0000)]
Added PXI-6224 based on report by Romain Bossart of equivalence to PCI-6224.
Frank Mori Hess [Mon, 17 Nov 2008 21:36:45 +0000 (21:36 +0000)]
Added reading of board serial number from eeprom for m-series boards.
Nothing is done with it yet, eventually it will be made available to
user-space via a readable file in sysfs.
Ian Abbott [Wed, 22 Oct 2008 16:24:33 +0000 (16:24 +0000)]
Renamed comedi_driver##_pci to comedi_driver##_pci_driver to avoid
section mismatch warnings.
Ian Abbott [Wed, 22 Oct 2008 15:56:03 +0000 (15:56 +0000)]
Update test for separate Linux source and build directories
(it broke for 2.6.25 onwards).
Ian Abbott [Wed, 22 Oct 2008 15:46:59 +0000 (15:46 +0000)]
Fix plain "--with-machine" without parameter. It used the wrong output
(`uname -r` should have been `uname -m`).
Ian Abbott [Wed, 22 Oct 2008 14:54:19 +0000 (14:54 +0000)]
Only register PCI driver if built with PCI support.
Ian Abbott [Wed, 22 Oct 2008 14:15:35 +0000 (14:15 +0000)]
Fix for no-PCI build.
Ian Abbott [Wed, 22 Oct 2008 14:01:40 +0000 (14:01 +0000)]
Support autoconfiguration of PCI devices in some Amplicon drivers.
Ian Abbott [Wed, 22 Oct 2008 11:54:26 +0000 (11:54 +0000)]
When configuring via the driver name (or auto-configuring a PCI device),
favor the newer '+' models over the older models if they match.
Ian Abbott [Wed, 22 Oct 2008 09:44:27 +0000 (09:44 +0000)]
Fixed a compiler warning.
Ian Abbott [Wed, 22 Oct 2008 09:41:59 +0000 (09:41 +0000)]
Corrected type mismatch in comedi_alloc_subdevice_minor when creating
device using format "comedi%i_subd%i" (pointer difference type is wider
than int on 64-bit arch).
Ian Abbott [Wed, 22 Oct 2008 09:25:05 +0000 (09:25 +0000)]
Fix for 2.6.27 kernel: device_create_result_type wasn't defined.
Frank Mori Hess [Tue, 21 Oct 2008 21:35:04 +0000 (21:35 +0000)]
Trying to make rtd520 driver smart enough to figure out what board it is
driving on its own.
Frank Mori Hess [Tue, 21 Oct 2008 20:46:33 +0000 (20:46 +0000)]
Fixed some of the pci drivers that didn't accept the driver name
as board name when running comedi_config.
Frank Mori Hess [Tue, 21 Oct 2008 20:43:45 +0000 (20:43 +0000)]
Clairified meanings of fifo status bits, and added FIXME comment.
Frank Mori Hess [Tue, 21 Oct 2008 16:10:58 +0000 (16:10 +0000)]
Switched addi drivers over to COMEDI_PCI_INITCLEANUP, which I missed in
last commit
Frank Mori Hess [Tue, 21 Oct 2008 16:10:00 +0000 (16:10 +0000)]
Converted all pci drivers to use COMEDI_PCI_INITCLEANUP. Automatic
configuration should work as long as the driver supported the usual
comedi_config <driver_name> <bus>,<slot>
configuration scheme for pci devices.
Frank Mori Hess [Tue, 21 Oct 2008 14:40:19 +0000 (14:40 +0000)]
Added COMEDI_PCI_INITCLEANUP to facilitate conversion of all pci
drivers to new dynamic device file/sysfs/udev support.
Frank Mori Hess [Tue, 21 Oct 2008 14:39:31 +0000 (14:39 +0000)]
Split out bus agnostic comedi_auto_config/comedi_auto_unconfig from
pci-specific comedi_pci_auto_config/comedi_pci_auto_unconfig.
Frank Mori Hess [Mon, 20 Oct 2008 20:35:40 +0000 (20:35 +0000)]
Fixed some module reference counting problems due to comedi_device_attach
and detach assuming the caller needs them to call module_get/module_put
for them.
Frank Mori Hess [Mon, 20 Oct 2008 18:18:06 +0000 (18:18 +0000)]
Fixed up device_create call for auto-probed device files so it
more fully associates the pci_dev with the device file.
Frank Mori Hess [Thu, 16 Oct 2008 21:00:24 +0000 (21:00 +0000)]
Fixed a compile error and a warning.
Frank Mori Hess [Thu, 16 Oct 2008 20:58:26 +0000 (20:58 +0000)]
Added support for udev/sysfs to core and ni_pcimio driver. Driver now
auto-configures itself on a /dev/comediN device (starting at /dev/comedi16)
as if the user had done a
"comedi_config /dev/comediN ni_pcimio <bus>,<slot>"
Ian Abbott [Thu, 9 Oct 2008 12:51:39 +0000 (12:51 +0000)]
Updated the "Adding new drivers" section due to optional PCI support.
Frank Mori Hess [Wed, 8 Oct 2008 21:55:01 +0000 (21:55 +0000)]
Patch from Trevor <tvrkng@gmail.com>
Ian Abbott [Wed, 1 Oct 2008 16:24:49 +0000 (16:24 +0000)]
Fixed typo reported by labrat.
Ian Abbott [Wed, 1 Oct 2008 16:20:49 +0000 (16:20 +0000)]
Patch from Anders Blomdell: "When uppgrading to 2.6.26.3, I found out that
f->f_op->ioctl is NULL with some (all?) serial drivers. Changing to
f->f_op->unlocked_ioctl worked for everything except FIONREAD, which
occasionally page faulted, hence I use 'settings.c_cc[VMIN] = 0
settings.c_cc[VTIME] = 0;' and use f->f_op->read for polling.
Ian Abbott [Wed, 1 Oct 2008 16:18:56 +0000 (16:18 +0000)]
Patch from Anders Blomdell: pick first board when bus/slot unspecified.
Ian Abbott [Wed, 1 Oct 2008 16:12:16 +0000 (16:12 +0000)]
Patch from Anders Blomdell: make detach work.
Ian Abbott [Wed, 1 Oct 2008 16:11:21 +0000 (16:11 +0000)]
Patch from Anders Blomdell: remove result printout for AI INSN_READ.
Frank Mori Hess [Tue, 16 Sep 2008 14:46:52 +0000 (14:46 +0000)]
Fixed problem with reporting of insn_bits support duw to it not being null
when it is not supported, but rather points at insn_inval.
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).