Ian Abbott [Mon, 4 Jan 2010 11:39:28 +0000 (11:39 +0000)]
pcmmio: reorder check for second irq in pcmmio_attach() to avoid reading
past end of array.
(Staging patch from Dan Carpenter.)
Ian Abbott [Mon, 4 Jan 2010 11:22:14 +0000 (11:22 +0000)]
comedi_bond: fix off by one in doDevConfig().
(Staging patch from Dan Carpenter.)
Bernd Porr [Thu, 26 Nov 2009 20:18:59 +0000 (20:18 +0000)]
removed "deprecated" from the define COMEDI_CB_BLOCK and added
a comment so that other know that this flag has to be set whenever
fresh data has arrived from an A/D or has been written to a D/A.
Bernd Porr [Thu, 26 Nov 2009 20:10:14 +0000 (20:10 +0000)]
Jan-Matthias Braun spotted the problem that once the ring buffer
of comedi has run empty the next read command would block forever
even after new data has arrived. Thanks for Jan-Matthias and Ian
who fixed the bug.
Ian Abbott [Thu, 26 Nov 2009 14:59:46 +0000 (14:59 +0000)]
jr3-pci: Only ioremap register space for actual number of channels on the
card. Also, check result of ioremap() for failure.
Thanks to Anders Blomdell for input and Sami Hussein for testing.
Ian Abbott [Thu, 19 Nov 2009 18:37:30 +0000 (18:37 +0000)]
adv_pci1710: Also initialize divisor1 and divisor2 in pci171x_ai_cmdtest().
Ian Abbott [Thu, 19 Nov 2009 11:43:52 +0000 (11:43 +0000)]
pcl818: In ai_cmd_test(), pcl818_ai_cmd_mode(), and pcl818_ao_mode13(),
initialize divisor1 and divisor2 values passed by reference to
i8153_cascade_ns_to_timer().
Ian Abbott [Thu, 19 Nov 2009 11:39:10 +0000 (11:39 +0000)]
pcl816: In pcl816_ai_cmdtest(), initialize divisor1 and divisor2 values
passed by reference to i8253_cascase_ns_to_timer().
Ian Abbott [Thu, 19 Nov 2009 11:35:13 +0000 (11:35 +0000)]
cb_das16_cs: In das16cs_ai_cmdtest(), initialize div1 and div2 values
passed by reference to i8253_cascade_ns_to_timer() (two instances).
Ian Abbott [Thu, 19 Nov 2009 11:32:37 +0000 (11:32 +0000)]
adv_pci1710: In pci171x_ai_docmd_and_mode(), initialize divisor1 and
divisor2 values passed by reference to i8253_cascase_ns_to_timer().
Ian Abbott [Thu, 19 Nov 2009 11:30:05 +0000 (11:30 +0000)]
adl_pci9118: In pci9118_ai_cmdtest(), initialize divisor1 and divisor2
values, passed by reference to i8253_cascade_ns_to_timer().
Ian Abbott [Thu, 19 Nov 2009 11:21:51 +0000 (11:21 +0000)]
pcl816: In pcl816_ai_cmdtest(), correct step 1 test for valid convert_src
(operator precedence error).
Ian Abbott [Thu, 19 Nov 2009 11:10:08 +0000 (11:10 +0000)]
pcl711: In pcl711_ai_cmd(), fix uninitialized variables timer1 and timer2.
Values are passed by reference to i8253_cascade_ns_to_timer().
Ian Abbott [Thu, 19 Nov 2009 11:05:09 +0000 (11:05 +0000)]
serial2002: In serial_2002_open(), reduce size of config_t by 4 bytes.
This reduces stack usage by 512 bytes.
Ian Abbott [Thu, 19 Nov 2009 10:59:13 +0000 (10:59 +0000)]
me4000: In xilinx_download(), correct test for /INIT pin being set during
initialization. Parentheses were missing.
Bernd Porr [Tue, 17 Nov 2009 23:18:49 +0000 (23:18 +0000)]
I've set all timeout values to 1000ms. Some bulk transfers used 30ms
as a timeout which should be OK but it's just a bit short. Nothing
detrimental.
Bernd Porr [Tue, 17 Nov 2009 23:09:47 +0000 (23:09 +0000)]
Fixed an issue with jiffies vs miliseconds for the timeout value
of bulk transfers. From 2.6.12 the timing information is miliseconds
and not jiffies. However in the driver there was a mix of constants
referring to jiffies and miliseconds. I've fixed it and introduced
the constant BULK_TIMEOUT in miliseconds for all transfers.
Ian Abbott [Mon, 19 Oct 2009 09:34:54 +0000 (09:34 +0000)]
[Following Linus's linux-2.6 tree...]
commit
d43c36dc removed sched.h from interrupt.h. This broke some of
the comedi drivers. This patch fixes this.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Ian Abbott [Mon, 19 Oct 2009 09:33:01 +0000 (09:33 +0000)]
[Following Linus's linux-2.6 tree...]
Now that sched.h was removed from poll.h, serial2002.c needs
to include it otherwise it does not build properly.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Frank Mori Hess [Mon, 21 Sep 2009 20:09:52 +0000 (20:09 +0000)]
Added device id for pxi-6225 to ni_pci_table.
Frank Mori Hess [Mon, 17 Aug 2009 16:07:53 +0000 (16:07 +0000)]
Added device id for pxi-6225.
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.