Bernd Porr [Sat, 21 Oct 2006 22:54:30 +0000 (22:54 +0000)]
Fixed two small bugs Ian Abbott pointed out. Ian Wrote:
The first one is just a tiny mistake in usbduxfast_ai_cmdtest():
/* step 3: make sure arguments are trivially compatible */
if(cmd->start_arg == TRIG_NOW && cmd->start_arg != 0)
should be:
if(cmd->start_src == TRIG_NOW && cmd->start_arg != 0)
The other one is a mismatch between cmdtest and cmd. cmdtest checks
start_src==TRIG_NOW or start_src==TRIG_EXT, but cmd checks
start_src==TRIG_NOW and otherwise assumes start_src==TRIG_INT.
Frank Mori Hess [Fri, 20 Oct 2006 16:15:34 +0000 (16:15 +0000)]
Added missing offsets for RTSI register on m-series
Frank Mori Hess [Fri, 20 Oct 2006 15:31:21 +0000 (15:31 +0000)]
Added support for INSN_CONFIG_GET_CLOCK_SRC
Frank Mori Hess [Thu, 19 Oct 2006 21:06:18 +0000 (21:06 +0000)]
Added support for configuring external clock sources on ni mio boards,
including using the PLL on m-series boards.
Frank Mori Hess [Thu, 19 Oct 2006 20:56:40 +0000 (20:56 +0000)]
Added some more data length checks for config instructions to
comedi_fops.c
Frank Mori Hess [Wed, 18 Oct 2006 23:01:27 +0000 (23:01 +0000)]
fixed max PLL divisor/multiplier
Frank Mori Hess [Wed, 18 Oct 2006 19:24:10 +0000 (19:24 +0000)]
Added some bit definitions to support the external reference clock driven
phased-locked loop.
Frank Mori Hess [Wed, 18 Oct 2006 14:32:32 +0000 (14:32 +0000)]
Replaced a bunch of printk with RT-safe rt_printk
Frank Mori Hess [Wed, 18 Oct 2006 13:01:00 +0000 (13:01 +0000)]
Added missing pci device ids using values provided by Tim Ousley
<tim.ousley@ni.com>
Frank Mori Hess [Tue, 17 Oct 2006 19:16:56 +0000 (19:16 +0000)]
Put in some guesses as to whether various boards should have their
outputs inverted.
Frank Mori Hess [Tue, 17 Oct 2006 17:21:18 +0000 (17:21 +0000)]
Reworked INSN_BITS to support dio subdevices with > 32 channels
by specifying a base channel in the insn.chanspec.
Frank Mori Hess [Tue, 17 Oct 2006 16:11:35 +0000 (16:11 +0000)]
Fixed insn_rw_emulate_bits() for reads when channel is >= 32. I don't
like this new scheme, instead I think I'm going support >= 32 dio channels
by making the insn chanspec specify a base channel for the dio bitmask.
Frank Mori Hess [Tue, 17 Oct 2006 15:37:50 +0000 (15:37 +0000)]
Fixed reversal of input/output when configuring dio directions. Fixed
problems with reads and writes I created with earlier work.
Frank Mori Hess [Tue, 17 Oct 2006 15:36:37 +0000 (15:36 +0000)]
Made insn_rw_emulate_bits() work for dio subdevice with more than
32 channels (ni_65xx).
Frank Mori Hess [Mon, 16 Oct 2006 21:01:20 +0000 (21:01 +0000)]
Added support for 6509, and other boards in family. Will test
tommorrow.
Frank Mori Hess [Mon, 16 Oct 2006 19:05:55 +0000 (19:05 +0000)]
Gave board_name member of comedi_driver_struct a well-defined type.
Added const qualifier to some char*.
Frank Mori Hess [Mon, 16 Oct 2006 17:45:23 +0000 (17:45 +0000)]
Fixed a couple compile warnings.
Frank Mori Hess [Mon, 16 Oct 2006 15:40:35 +0000 (15:40 +0000)]
Added pci device id for pxi-6509, fixed driver_name.
Frank Mori Hess [Sun, 15 Oct 2006 23:33:28 +0000 (23:33 +0000)]
First pass at supporting 32 bit static dio on m-series boards (untested).
Frank Mori Hess [Sat, 14 Oct 2006 00:10:43 +0000 (00:10 +0000)]
Added contributor
Frank Mori Hess [Sat, 14 Oct 2006 00:09:47 +0000 (00:09 +0000)]
New drivers from Jonathan Grierson <jd@renko.co.uk>:
Hi, I've recently been working with two digital
daq cards and have written drivers to get them working with Comedi.
The first is for the National Instruments PCI-6514. It could perhaps be
merged with the 6527 driver because I used this as a base but the 6514
is part of a series from NI which are all quite similar and not quite as
advanced. Let me know what you think. I'm afraid it needed to be done
quite quickly and so felt it would be easier to produce a simpler driver
rather than hack the existing one.
The second is for the Adlink PCI-7296. Just a pci wrapper for 4 8255
devices. Only basic IO enabled so far so no interrupts.
Frank Mori Hess [Fri, 13 Oct 2006 17:44:33 +0000 (17:44 +0000)]
Added support for pcie-629 and pxi-6281
Frank Mori Hess [Fri, 13 Oct 2006 17:21:18 +0000 (17:21 +0000)]
White space changes.
Frank Mori Hess [Tue, 10 Oct 2006 00:43:37 +0000 (00:43 +0000)]
Fixed up documentation comments.
Frank Mori Hess [Tue, 10 Oct 2006 00:37:55 +0000 (00:37 +0000)]
New driver from Nickolay Petrov <nick@office.etersoft.ru>:
Driver for Fastwel UNIOxx-5 (analog and digital i/o) boards.
Copyright (C) 2006 Kruchinin Daniil (asgard) [asgard@etersoft.ru]
Frank Mori Hess [Tue, 10 Oct 2006 00:35:28 +0000 (00:35 +0000)]
Mask off bogus high bits for m-series boards with 16 bits or less.
Frank Mori Hess [Thu, 21 Sep 2006 00:00:18 +0000 (00:00 +0000)]
New driver from Everett Wang <everteq@sbcglobal.net>:
We have written a comedi driver for sensoray 526
board. It is a very small PC104 format multifunction
card. We have used this driver for a while and it is
pretty stable.
Frank Mori Hess [Thu, 14 Sep 2006 17:52:06 +0000 (17:52 +0000)]
Added GPL header.
Frank Mori Hess [Mon, 11 Sep 2006 13:53:24 +0000 (13:53 +0000)]
Added SDF_PACKED subdevice flag.
Frank Mori Hess [Thu, 7 Sep 2006 14:44:33 +0000 (14:44 +0000)]
Added SDF_SOFT_CALIBRATED subdevice flag.
Frank Mori Hess [Wed, 23 Aug 2006 14:15:25 +0000 (14:15 +0000)]
fixed small chance of attempting to free an unallocated irq.
Frank Mori Hess [Wed, 23 Aug 2006 14:05:17 +0000 (14:05 +0000)]
Install modules into "comedi" subdir instead of "extra" subdir when
using kbuild.
Frank Mori Hess [Wed, 23 Aug 2006 01:48:14 +0000 (01:48 +0000)]
Fixed irq argument to comedi_request_irq()
Ian Abbott [Tue, 22 Aug 2006 16:26:34 +0000 (16:26 +0000)]
Renamed CLASS_DEVICE_CREATE to COMEDI_CLASS_DEVICE_CREATE to avoid
name clash with RTAI.
Ian Abbott [Mon, 21 Aug 2006 16:25:12 +0000 (16:25 +0000)]
Fix for SuSE 9.0 2.4.21 kernel. Simplify jiffies_to_msecs() and
msecs_to_jiffies() to avoid preprocessor optimisations that depend on
HZ being a C constant expression. Just round the result up to the nearest
integer. The supported range of input values (avoiding arithmetic overflow)
is now less than that of the Linux versions of these functions for common
values of HZ, but that's unlikely to cause any problems (and if it does we
can fix it by making the functions more complicated).
Frank Mori Hess [Thu, 17 Aug 2006 13:52:26 +0000 (13:52 +0000)]
m-series boards are unhappy if ai config fifo is empty, even when you
are bypassing it.
Frank Mori Hess [Wed, 16 Aug 2006 19:18:07 +0000 (19:18 +0000)]
0.7.73 changes
Frank Mori Hess [Wed, 16 Aug 2006 19:09:50 +0000 (19:09 +0000)]
bump version for 0.7.73
Frank Mori Hess [Wed, 16 Aug 2006 15:55:13 +0000 (15:55 +0000)]
Fixed max ai speed for 628x boards.
Frank Mori Hess [Wed, 16 Aug 2006 15:54:50 +0000 (15:54 +0000)]
Added bit definitions for m-series ai chanlist configuration register.
Frank Mori Hess [Wed, 16 Aug 2006 15:22:27 +0000 (15:22 +0000)]
Use new m-series chanlist configuration for m-series boards, instead
of relying on backwards compatibility with e-series.
Frank Mori Hess [Wed, 16 Aug 2006 15:21:20 +0000 (15:21 +0000)]
Fixed bytes_per_sample to return correct value in lsampl_t case, was
broken due to confusion between subdev->flags and subdev->subdev_flags.
Frank Mori Hess [Tue, 15 Aug 2006 20:21:28 +0000 (20:21 +0000)]
Fix calculation of bytes per scan for 18-bit analog input m-series
boards when generating end-of-scan events.
Frank Mori Hess [Tue, 15 Aug 2006 18:58:02 +0000 (18:58 +0000)]
Fix rounding up of buffer size to integer multiple of page size.
Frank Mori Hess [Mon, 14 Aug 2006 14:07:11 +0000 (14:07 +0000)]
Bumped version for 0.7.72
Frank Mori Hess [Mon, 14 Aug 2006 14:06:31 +0000 (14:06 +0000)]
Added 0.7.72 changes, and fixed misspellings of Ian Abbott's name.
Frank Mori Hess [Mon, 14 Aug 2006 14:05:42 +0000 (14:05 +0000)]
Added new contributor.
Frank Mori Hess [Mon, 14 Aug 2006 13:45:03 +0000 (13:45 +0000)]
Added missing GPL headers.
Frank Mori Hess [Mon, 14 Aug 2006 02:58:52 +0000 (02:58 +0000)]
New drivers from Pablo Mejia <pablo@cctechnol.com>:
We have written basic drivers for two PC-104 boards we are using at work
and we would like to contribute them to the Comedi project. The drivers
are for two Advanced Digital Logic (www.adlogic-pc104.com) boards:
104-AIO12-8
http://www.adlogic-pc104.com/products/peripherals/datasheets/104-AIO12-8.pdf
104-IIRO-16
http://www.adlogic-pc104.com/products/peripherals/datasheets/104-IIRO-16.pdf
The actual manufacturer is Acces I/O (http://accesio.com). I believe
the same boards are also available from (http://kontron.com)
The drivers are
basic. For instance no asynchronous operations are supported. The
drivers do work (tested on Fedora Core 4 and 5).
Ian Abbott [Fri, 11 Aug 2006 17:28:59 +0000 (17:28 +0000)]
Restore the old COPYING and INSTALL files after they are overwritten by
autoreconf -i -f.
Ian Abbott [Fri, 11 Aug 2006 15:08:50 +0000 (15:08 +0000)]
Updated 'Adding new drivers' section.
Ian Abbott [Fri, 11 Aug 2006 13:54:17 +0000 (13:54 +0000)]
Removed Documentation/Configure.help and Documentation/Configure.help.append
Ian Abbott [Fri, 11 Aug 2006 13:53:00 +0000 (13:53 +0000)]
Moved addi_data.c into EXTRA_DIST until the drivers are back in the fold.
Ian Abbott [Fri, 11 Aug 2006 13:47:10 +0000 (13:47 +0000)]
Skipped obsolete tests and added some new ones.
Ian Abbott [Fri, 11 Aug 2006 12:06:56 +0000 (12:06 +0000)]
Corrected a printk format string that I forgot to update in previous commit
of das6402.c.
Ian Abbott [Fri, 11 Aug 2006 11:55:09 +0000 (11:55 +0000)]
Add 'Contributors' to EXTRA_DIST.
Ian Abbott [Fri, 11 Aug 2006 11:42:45 +0000 (11:42 +0000)]
Removed obsolete include/linux/kern_compat.h file.
Ian Abbott [Fri, 11 Aug 2006 11:32:32 +0000 (11:32 +0000)]
Deleted obsolete Config.in files.
Ian Abbott [Fri, 11 Aug 2006 11:26:20 +0000 (11:26 +0000)]
Add Kbuild to EXTRA_DIST.
Ian Abbott [Fri, 11 Aug 2006 11:08:27 +0000 (11:08 +0000)]
Added some kernel compatability include files to EXTRA_DIST.
Frank Mori Hess [Tue, 8 Aug 2006 14:47:55 +0000 (14:47 +0000)]
Added missing include for linux/version.h
Frank Mori Hess [Tue, 8 Aug 2006 14:40:26 +0000 (14:40 +0000)]
Added length checks for data array of INSN_CONFIG_ALT_SOURCE and
INSN_CONFIG_PWM_OUTPUT
Ian Abbott [Mon, 7 Aug 2006 18:02:38 +0000 (18:02 +0000)]
Used pci_name() when printing PCI device location.
Ian Abbott [Mon, 7 Aug 2006 18:01:40 +0000 (18:01 +0000)]
Add compatibility function pci_name(pci_dev) for kernel < 2.4.22. It
returns the pci device name as a char * (e.g. "00:09.0" for bus 0, slot 9,
func 0, or "0000:00:09.0" for recent kernels that include the PCI domain
in the string).
Ian Abbott [Mon, 7 Aug 2006 17:33:24 +0000 (17:33 +0000)]
Cleaned up resource types. Used unsigned int for IRQs. Used unsigned long
for I/O ports. Used resource_size_t for physical memory regions.
Ian Abbott [Mon, 7 Aug 2006 17:25:18 +0000 (17:25 +0000)]
Added linux/types.h compatibility header.
typedefs 'resource_size_t' as unsigned long if kernel < 2.6.18.
Ian Abbott [Mon, 7 Aug 2006 15:57:14 +0000 (15:57 +0000)]
Don't free IRQ if it wasn't requested successfully.
Ian Abbott [Mon, 7 Aug 2006 15:52:03 +0000 (15:52 +0000)]
Don't free the IRQ if it wasn't allocated.
Ian Abbott [Mon, 7 Aug 2006 15:32:19 +0000 (15:32 +0000)]
ifdef'ed out incomplete irq stuff from ni_daq_dio24.c
Ian Abbott [Mon, 7 Aug 2006 14:09:26 +0000 (14:09 +0000)]
Check I/O region was allocated before releasing it.
Ian Abbott [Mon, 7 Aug 2006 13:42:46 +0000 (13:42 +0000)]
Request resources before using them.
Ian Abbott [Mon, 7 Aug 2006 10:34:30 +0000 (10:34 +0000)]
Remove Modules.symvers when cleaning as it can cause subsequent builds
for another kernel to fail.
Frank Mori Hess [Tue, 1 Aug 2006 02:56:12 +0000 (02:56 +0000)]
Added 0.7.71 changes.
Frank Mori Hess [Tue, 1 Aug 2006 01:47:17 +0000 (01:47 +0000)]
version bump
Ian Abbott [Mon, 31 Jul 2006 13:14:33 +0000 (13:14 +0000)]
Fixed compiler warnings about unused variable in the interrupt handler
when building for 2.4 kernel.
Frank Mori Hess [Tue, 18 Jul 2006 20:51:54 +0000 (20:51 +0000)]
set mite_phys_addr to zero after releasing io regions
Frank Mori Hess [Tue, 18 Jul 2006 02:31:50 +0000 (02:31 +0000)]
turn pcmcia support on or off by default depending on whether
the kernel's pcmcia_driver struct has a probe function pointer.
Frank Mori Hess [Wed, 12 Jul 2006 02:17:50 +0000 (02:17 +0000)]
Added check for length of INSN_CONFIG_SET_RTSI_CLOCK_MODE,
(David MacMahon <davidm@astro.berkeley.edu>)
Frank Mori Hess [Wed, 12 Jul 2006 02:16:57 +0000 (02:16 +0000)]
Fixed number of channels in rtsi subdevice
(David MacMahon <davidm@astro.berkeley.edu>)
Ian Abbott [Mon, 10 Jul 2006 15:39:48 +0000 (15:39 +0000)]
Extend automatic enabling of Kbuild mechanism back as far as kernel 2.6.10
(which is the first Kbuild enabled kernel supported by Comedi) and also
enable Kbuild mechanism if separate kernel source and build directories
are in use.
It ought to be possible to use the Kbuild mechanism back as far as kernel
2.6.8 by checking for the script/mkmakefile file (that's what I tried first,
actually), but use of the Kbuild mechanism for 2.6.8 and 2.6.9 is currently
incompatible with Comedi's build mechanism (I tried it).
Ian Abbott [Mon, 10 Jul 2006 10:06:34 +0000 (10:06 +0000)]
Replaced AC_PATH_PROG with AC_PATH_TOOL when detecting the 'strip' program.
This is so the correct 'strip' is used when cross-compiling.
Ian Abbott [Thu, 6 Jul 2006 16:06:32 +0000 (16:06 +0000)]
Avoid using AC_RUN_IFELSE to check the kernel major.minor version, as it
doesn't work when cross-compiling.
Every kernel Makefile I've looked at (at least for 2.4 and 2.6, including
those for separate kernel build directories) includes the "VERSION = x" and
"PATCHLEVEL = y" lines, so use 'sed' to extract the information from those
lines.
Ian Abbott [Wed, 5 Jul 2006 11:30:26 +0000 (11:30 +0000)]
Applied patch from Ben Gardiner (blg at mast dot queensu dot ca):
It appears as though the changes were applied only to configure.ac.
In the current state, setting --disable-rtai will not avoid the check for the
presence of an rtai directory (line 16 in m4/rtai.m4) if the user has an
adeos/ipipe enabled kernel.
In the situation where the users has an adeos/ipipe enabled kernel, and a
non-standard rtai directory and does not wish to build comedi with rtai support
supplying --disable-rtai is not sufficient to complete the configuration script
without error. An additional --with-rtaidir=/non/standard/dir/ must be
specified. This seems counter-intuitive since the user has already supplied the
--disable-rtai option.
Ian Abbott [Wed, 5 Jul 2006 09:41:57 +0000 (09:41 +0000)]
Removed MODVERDIR=${tmpdir} when checking CFLAGS, as recent kernel Makefiles
delete that directory or everything in it. Let the kernel Makefile set
MODVERDIR by itself.
Frank Mori Hess [Wed, 28 Jun 2006 01:00:55 +0000 (01:00 +0000)]
Detect Kbuild in Linux kernel source directory, and use it to
automatically decide whether to use Kbuild to build modules.
--enable-kbuild can still be used to override.
Ian Abbott [Wed, 21 Jun 2006 16:31:54 +0000 (16:31 +0000)]
Fix gcc-4.1 warnings (undefined macro in #if).
Ian Abbott [Wed, 21 Jun 2006 16:30:06 +0000 (16:30 +0000)]
Fix gcc-4.1 warnings (uninitialized variables).
Ian Abbott [Wed, 21 Jun 2006 16:28:36 +0000 (16:28 +0000)]
Fixed gcc-4.1 warnings (operation may be undefined).
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!).