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).
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).