Frank Mori Hess [Wed, 15 Jun 2005 23:05:48 +0000 (23:05 +0000)]
fix depmod call on install
Frank Mori Hess [Wed, 15 Jun 2005 22:58:52 +0000 (22:58 +0000)]
add pci id for PCI-6731
Frank Mori Hess [Tue, 14 Jun 2005 11:16:14 +0000 (11:16 +0000)]
only allocate comedi_irq_struct if we are going to use it (fixes memory
leak caused by my last changes).
Frank Mori Hess [Tue, 14 Jun 2005 01:43:00 +0000 (01:43 +0000)]
undo my silly (and failed) attempt to support shared RT interrupts
Frank Mori Hess [Tue, 14 Jun 2005 01:42:09 +0000 (01:42 +0000)]
fix return type for comedi_irq_struct.handler on 2.6 kernels
Frank Mori Hess [Tue, 14 Jun 2005 00:49:51 +0000 (00:49 +0000)]
removed some obsolete #defines
Frank Mori Hess [Mon, 13 Jun 2005 02:14:52 +0000 (02:14 +0000)]
rtai fusion support from Alexis Berlemont <berlemont.hauw@free.fr>,
slightly modified by me. Patch to comedi_rt_timer has not been
applied yet.
Frank Mori Hess [Mon, 13 Jun 2005 01:29:49 +0000 (01:29 +0000)]
added Simone Mannori
Frank Mori Hess [Mon, 13 Jun 2005 01:25:12 +0000 (01:25 +0000)]
fix for analog output, based on patch from Simone Mannori
<smannori@f2n.it>
Bernd Porr [Sun, 12 Jun 2005 22:09:55 +0000 (22:09 +0000)]
For one channel now sampling rates up to 30MHz are possible.
However, buffer overflows in the usb system limit the number
of consecutive samples to 256. At 5MHz 796 samples are possible
and at 3MHz continous sampling is possible.
Frank Mori Hess [Sat, 4 Jun 2005 14:32:48 +0000 (14:32 +0000)]
Patch from Ian Abbot <abbotti@mev.co.uk>:
I've done some work on getting rid of the check_region calls which are now
deprecated.
I first mentioned this back in March and did a little bit of work on it at the time:
https://cvs.comedi.org/pipermail/comedi/2005-March/006971.html
https://cvs.comedi.org/pipermail/comedi/2005-March/006977.html
My new patch seems to be too large for the comedi mailing list - they just
disappear into a black hole, so here is a description of my latest patch:
I used a static inline function called compat__request_region and (re)defined a
macro called request_region to use it. The result is that drivers can check the
return value of request_region (or pci_request_regions) instead of calling
check_region. Note that the compat__request_region does not return a pointer to
anything real, but it can be compared to NULL.
The attached patch implements the above compatibility stuff and changes the
drivers to use it (but I changed the amplc_pci230 driver to use
pci_request_regions instead of request_region while I was at it). I've also
changed the compatibility version of pci_request_regions to avoid calling
check_regions (otherwise it would be called twice) and also made it release any
regions it successfully requested on failure.
Most of the changes to the individual drivers were straightforward. One or two
required a modicum of thought to release resources on error.
Bernd Porr [Sat, 28 May 2005 23:27:16 +0000 (23:27 +0000)]
urb_kill is available from 2.6.8 and not from 2.6.10. This affects
especially sarge which works with 2.6.8. The urb_kill command
is much safer than urb_unlink.
Bernd Porr [Sat, 28 May 2005 23:26:22 +0000 (23:26 +0000)]
urb_kill is available from 2.6.8 and not from 2.6.10. This affects
especially sarge which works with 2.6.8. The urb_kill command
is much safer than the urb_unlink.
The async cmd is modifying the sampling interval so that the
user program can use the real sampling rate.
Frank Mori Hess [Sat, 28 May 2005 19:02:24 +0000 (19:02 +0000)]
added jiffies_to_msecs() and msleep_interruptible() to compatibility
headers
Frank Mori Hess [Sat, 28 May 2005 18:54:31 +0000 (18:54 +0000)]
added msecs_to_jiffies() compatibility definition
Frank Mori Hess [Sat, 28 May 2005 18:32:35 +0000 (18:32 +0000)]
add USB_CONTROL_MSG and USB_BULK_MSG compatibility functions due
to change in meaning of timeout argument with kernel 2.6.12
Bernd Porr [Mon, 23 May 2005 22:56:21 +0000 (22:56 +0000)]
Reduced the amount of debug messages during normal operation.
Frank Mori Hess [Mon, 16 May 2005 22:19:11 +0000 (22:19 +0000)]
revert to revision 1.8, as the issues with remap_page_range have already
been fixed by migrating to remap_pfn_range
Frank Mori Hess [Sat, 14 May 2005 23:08:28 +0000 (23:08 +0000)]
try to fix problems on pc104-das16jr that occur when an
dma transfer with an odd number of bytes occurs.
Frank Mori Hess [Sat, 14 May 2005 17:17:22 +0000 (17:17 +0000)]
be more careful about sending pci-1760 mailbox commands
Frank Mori Hess [Sat, 14 May 2005 00:06:37 +0000 (00:06 +0000)]
fixes for 1760: base address index was wrong (from
Bill Jennings <comedi@bigriverwireless.net>), and I cleaned up some
dead code and removed broken (and unneeded) pci1760_insn_read_di()
Frank Mori Hess [Wed, 27 Apr 2005 00:17:00 +0000 (00:17 +0000)]
add error message when request_irq fails
Frank Mori Hess [Wed, 27 Apr 2005 00:02:01 +0000 (00:02 +0000)]
removed debian files from cvs
Bernd Porr [Mon, 25 Apr 2005 08:03:18 +0000 (08:03 +0000)]
Wiktor Grebla wrote in the comedi mailing list:
Somwhere around 2.6.9 kernel remap_pfn_range() was introduced as a
portable replacement for remap_page_range,
presumably with some wrapper which has dissapeared recently (2.6.11),
what resulted in "Unknown symbol" while
loading comedi module (and the following ones because of the symbols in it).
I've changed include/linux/mm.h slightly, hopefully without breaking
anything.
Seems to work. I've tested it with 2.6.10 and 2.6.11.
Frank Mori Hess [Mon, 18 Apr 2005 01:21:09 +0000 (01:21 +0000)]
added comedi_mark_buffer_written() to kcomedilib
Bernd Porr [Sun, 17 Apr 2005 22:30:55 +0000 (22:30 +0000)]
Changed maxrange from 0xfff to 0x1000. The converter can reach the
value 0x1000 if there's an overflow. Thanks to Frank Mori Hess who
pointed that out.
Bernd Porr [Sun, 17 Apr 2005 22:27:25 +0000 (22:27 +0000)]
Applied to the 0.7 branch:
Fixed a bug which uploaded the firmware always to the first
device. Even if there were two devices. Thus, the second device
never got the firmware uploaded. Thanks to Bjorn Kinell.
David Schleef [Fri, 8 Apr 2005 02:57:17 +0000 (02:57 +0000)]
copy from HEAD
Frank Mori Hess [Thu, 7 Apr 2005 23:53:14 +0000 (23:53 +0000)]
summary of 0.7.70 changes
David Schleef [Thu, 7 Apr 2005 20:20:40 +0000 (20:20 +0000)]
Remove references to linux/irq.h
David Schleef [Thu, 7 Apr 2005 20:15:19 +0000 (20:15 +0000)]
Re-add call to depmod if it's a normal install
Frank Mori Hess [Thu, 7 Apr 2005 16:52:00 +0000 (16:52 +0000)]
added José Luis Sánchez
David Schleef [Tue, 5 Apr 2005 20:21:32 +0000 (20:21 +0000)]
Remove linux/irq.h. It should be asm/irq.h, which is included
automatically.
David Schleef [Sun, 3 Apr 2005 00:00:36 +0000 (00:00 +0000)]
Use -i and -f flags
David Schleef [Sat, 2 Apr 2005 23:57:18 +0000 (23:57 +0000)]
Fix drivers.txt target
David Schleef [Sat, 2 Apr 2005 23:52:27 +0000 (23:52 +0000)]
Use autoreconf. Add files
David Schleef [Sat, 2 Apr 2005 23:48:24 +0000 (23:48 +0000)]
Change the way files are disted. Remove all the crap from scripts/
that's no longer used.
David Schleef [Fri, 1 Apr 2005 04:24:12 +0000 (04:24 +0000)]
Documentation fixes
David Schleef [Fri, 1 Apr 2005 04:23:44 +0000 (04:23 +0000)]
version bump
David Schleef [Fri, 1 Apr 2005 03:00:52 +0000 (03:00 +0000)]
Make distcheck work. Add LINUX_MODULE_STYLE to indicate module
building style.
Frank Mori Hess [Tue, 29 Mar 2005 02:49:40 +0000 (02:49 +0000)]
fix compile warning, and initialize both tio chips
Frank Mori Hess [Tue, 29 Mar 2005 02:41:04 +0000 (02:41 +0000)]
patch from Klaas Gadeyne <Klaas.Gadeyne@mech.kuleuven.ac.be>
which fixes problem with initialization of CounterSwap bit in the
ClockConfigRegister.
The patch also fixes a small bug in the configuration of the TIO to serve
as an encoder: There was a copy-paste error in the code for taking into
account the index pulse or not.
Frank Mori Hess [Tue, 22 Mar 2005 02:30:46 +0000 (02:30 +0000)]
check for CAP_SYS_MODULE instead of CAP_SYS_ADMIN in comedi_fop_open()
Frank Mori Hess [Sat, 19 Mar 2005 03:36:30 +0000 (03:36 +0000)]
add mention of comedi_nonfree_firmware tarball
Frank Mori Hess [Sat, 19 Mar 2005 03:35:15 +0000 (03:35 +0000)]
allow schedules() during firmware upload
Frank Mori Hess [Fri, 18 Mar 2005 00:00:25 +0000 (00:00 +0000)]
add support for loading firmware into main fpga and scarabs on pci-6534
Frank Mori Hess [Thu, 17 Mar 2005 17:25:42 +0000 (17:25 +0000)]
add support for uploading firmware on 64 bit arches, and added support
for loading up to 4 different firmware files (will be needed by
ni pci-6534).
Frank Mori Hess [Thu, 17 Mar 2005 14:53:02 +0000 (14:53 +0000)]
add SDF_DITHER flag to analog input subdevice
Frank Mori Hess [Wed, 16 Mar 2005 15:56:02 +0000 (15:56 +0000)]
fix version check for remap_pfn_range() compatibility
Frank Mori Hess [Tue, 15 Mar 2005 01:00:33 +0000 (01:00 +0000)]
replace remap_page_range with remap_pfn_range
Frank Mori Hess [Sun, 13 Mar 2005 15:17:52 +0000 (15:17 +0000)]
move check of s->busy after aquisition of big_comedi_lock in
do_lock_ioctl. Make locking return a less confusing error code
on failure. Make locking fail if process already has lock (alternative
would be to make locking recursive, but I don't see a reason to bother).
Frank Mori Hess [Sat, 12 Mar 2005 13:31:39 +0000 (13:31 +0000)]
patch from Ian Abbott <abbotti@mev.co.uk>:
Here's a change to my new amplc_pci224 driver to use pci_request_regions
instead of check_region/request_region, as suggested by Frank.
Frank Mori Hess [Tue, 8 Mar 2005 02:35:34 +0000 (02:35 +0000)]
new driver from abbotti@mev.co.uk (Ian Abbott):
Here's a new driver for the Amplicon PCI224 and PCI234 analog output cards,
supporting streaming AO. It seems to be working well except that the first scan
can misfire at the start of acquisition, and I can't find a way to work around
this hardware problem. It shouldn't matter too much for waveform output. I've
mentioned it in the caveats section of the driver documentation.
Frank Mori Hess [Mon, 7 Mar 2005 00:59:47 +0000 (00:59 +0000)]
fix compile error
Frank Mori Hess [Mon, 7 Mar 2005 00:11:27 +0000 (00:11 +0000)]
use 8255 driver for 8255 subdevice
Frank Mori Hess [Sun, 6 Mar 2005 17:34:39 +0000 (17:34 +0000)]
fixed "cast as lvalue" compiler warning
Frank Mori Hess [Sun, 6 Mar 2005 17:31:08 +0000 (17:31 +0000)]
add support for new INSN_CONFIG_DIO_QUERY
Frank Mori Hess [Sun, 6 Mar 2005 17:30:40 +0000 (17:30 +0000)]
move some checks for length of data[] in configuration insn to core
Frank Mori Hess [Sun, 6 Mar 2005 17:30:10 +0000 (17:30 +0000)]
add id for INSN_CONFIG_DIO_QUERY for querying configuration state
of dio line
Frank Mori Hess [Sun, 6 Mar 2005 16:10:25 +0000 (16:10 +0000)]
at least now i know why the 6534 doesn't work
Frank Mori Hess [Thu, 3 Mar 2005 23:13:20 +0000 (23:13 +0000)]
patch from Ian Abbott <abbotti@mev.co.uk>:
updates the drivers to use
pci_get_device() instead of pci_find_device() and fixes a few other bits
that seemed to be broken: mostly insufficient checking in the 'detach'
routines.
Frank Mori Hess [Thu, 3 Mar 2005 23:08:59 +0000 (23:08 +0000)]
patch from Ian Abbott <abbotti@mev.co.uk>:
adds two more compatibility
definitions for 'pci_dev_get()' and 'pci_get_device()'
Frank Mori Hess [Thu, 3 Mar 2005 22:06:50 +0000 (22:06 +0000)]
updated documentation: firmware cannot be compiled into driver any more.
Frank Mori Hess [Tue, 1 Mar 2005 23:43:46 +0000 (23:43 +0000)]
pci-6534 does not work
Frank Mori Hess [Mon, 28 Feb 2005 23:35:53 +0000 (23:35 +0000)]
6035 only has 12 bit analog output resolution, despite 16 bit input
resolution. Added ao_bits member to board struct to deal with it.
Frank Mori Hess [Mon, 28 Feb 2005 23:24:00 +0000 (23:24 +0000)]
6034 and 6035 don't have 8255 chips
Frank Mori Hess [Mon, 28 Feb 2005 00:22:02 +0000 (00:22 +0000)]
compile fix for gcc 2.95 from al14@inf.tu-dresden.de (Andreas Leuner)
Frank Mori Hess [Mon, 28 Feb 2005 00:08:15 +0000 (00:08 +0000)]
don't use deprecated pci_find_subsys(), replace with pci_get_subsys()
(and pci_dev_put())
Frank Mori Hess [Mon, 28 Feb 2005 00:07:24 +0000 (00:07 +0000)]
implementation of pci_find_subsys for old kernels from abbotti@mev.co.uk (Ian Abbott),
and #defines for pci_get_subsys() and pci_dev_put() from me.
Frank Mori Hess [Sun, 27 Feb 2005 23:47:50 +0000 (23:47 +0000)]
patch from abbotti@mev.co.uk (Ian Abbott):
"modprobe dt3000" fails on current 2.6 kernels due to missing symbols in the PCI
stuff.
The attached patch should fix it, but needs testing properly. I've checked that
it modprobes okay, but don't have the hardware to make sure it finds the board okay.
Frank Mori Hess [Sun, 27 Feb 2005 23:42:00 +0000 (23:42 +0000)]
patch from emmanuel.pacaud@univ-poitiers.fr (Emmanuel Pacaud):
here's a patch that extends AI streaming capabilities of the
adl_pci9111 driver, and fixes analog output.
Frank Mori Hess [Sun, 27 Feb 2005 23:31:17 +0000 (23:31 +0000)]
need to change things around a little to prevent asm/tlb.h from breaking
compilation against debian 2.4.27 kernel headers
Frank Mori Hess [Sun, 27 Feb 2005 23:12:25 +0000 (23:12 +0000)]
patch from Ian Abbott <abbotti@mev.co.uk>:
The last change to das08_cs.c on Feb 5 breaks on 2.4, though the change
itself was not unreasonable (it saves a few bytes at least). The
problem is that the change was incompatible with the version of struct
device_driver defined in comedi's linux/device.h compatibility header.
In the "real" version of struct device_driver, the "name" member is a
"char *", but in the compatibility version it's a "dev_info_t", which is
a "char[32]".
The attached patch sorts it out in the compatibility headers.
Frank Mori Hess [Sun, 27 Feb 2005 22:26:45 +0000 (22:26 +0000)]
patch from Ian Abbott <abbotti@mev.co.uk>:
This patch against CVS also applies to comedi-0.7.69 and allows it to
compile correctly against Red Hat 9's 2.4.20-8 kernel, and probably
others using the "statm" kernel patch. It also changes the conditions
for defining the pte_offset_kernel() macro in the asm/pgtable.h
compatibility header to avoid it being redefined.
Frank Mori Hess [Sun, 27 Feb 2005 22:05:51 +0000 (22:05 +0000)]
patch from Ian Abbot <abbotti@mev.co.uk>:
I think it's probably a bad idea for my amplc_dio200 driver to call
comedi_event() while it's holding a spinlock. The call to comedi_event
could call a kcomedilib client's callback function, which might do
something that requires the same spinlock, leading to a deadlock.
The attached patch moves the calls to comedi_event() to a safe point
after the spinlock is released.
Bernd Porr [Sun, 27 Feb 2005 02:15:48 +0000 (02:15 +0000)]
Removed a buffer overflow routine again. The buffer overflow can
only be detected in the firmware when 3 out of 4 buffers are full.
Thus, the condition that all 4 buffers are full gives already
an buffer overflow.
Frank Mori Hess [Mon, 21 Feb 2005 21:02:47 +0000 (21:02 +0000)]
replace 0x10000 with max_count constant, and handle a couple more
corner cases
Frank Mori Hess [Mon, 21 Feb 2005 20:52:55 +0000 (20:52 +0000)]
patch from Ian Abbott <abbotti@mev.co.uk>:
Here's a couple more minor patches for the
i8253_cascade_ns_to_timer_2div function, which I should have spotted
earlier.
8253_dupcalc.patch gets rid of a duplicate calculation
8253_overflow.patch adds some arithmetic overflow checks to the "early
exit" test.
Frank Mori Hess [Thu, 17 Feb 2005 23:37:58 +0000 (23:37 +0000)]
patch from Ian Abbott <abbotti@mev.co.uk>:
This patch sets the COMEDI_CB_BLOCK event in the interrupt routines of
the comedi_parport and amplc_pc236 drivers, as whatever is monitoring
the interrupts probably wants to know about them as soon as possible!
Frank Mori Hess [Thu, 17 Feb 2005 23:23:42 +0000 (23:23 +0000)]
new driver from Ian Abbott <abbotti@mev.co.uk>
Frank Mori Hess [Thu, 17 Feb 2005 23:15:05 +0000 (23:15 +0000)]
inew compatibility header from Ian Abbott <abbotti@mev.co.uk>
Frank Mori Hess [Thu, 17 Feb 2005 23:13:35 +0000 (23:13 +0000)]
add missing include for likely/unlikely
Frank Mori Hess [Thu, 17 Feb 2005 22:58:33 +0000 (22:58 +0000)]
new compatibility header from Ian Abbott <abbotti@mev.co.uk>:
Here's an asm/semaphore.h compatibility header to help build Comedi
drivers for kernel versions prior to 2.2.18. It defines the following
missing macros:
init_MUTEX(x)
init_MUTEX_LOCKED(x)
DECLARE_MUTEX(name)
DECLARE_MUTEX_LOCKED(name)
I didn't define sema_init(sem, val) as I the implementation is
arch-dependent.
Frank Mori Hess [Thu, 17 Feb 2005 22:48:11 +0000 (22:48 +0000)]
patch from Ian Abbott <abbotti@mev.co.uk>:
This patch improves the "early exit" test in the
i8253_cascade_ns_to_timer_2div function (comedi/drivers/8253.h) to take
account of a divisor of 65536 being represented by 0.
Frank Mori Hess [Thu, 17 Feb 2005 22:42:09 +0000 (22:42 +0000)]
patch from Emmanuel PACAUD <emmanuel.pacaud@univ-poitiers.fr>:
Here's a trivial patch that closes comedi device file when detaching
comedi_rt_timer driver.
Frank Mori Hess [Wed, 9 Feb 2005 01:53:23 +0000 (01:53 +0000)]
patch from Ian Abbott <abbotti@mev.co.uk>:
This patch adds compatibility code for the 'wait_event()' macro in
linux/sched.h for kernels prior to 2.2.3. The actual implementation in
this patch has been taken from 2.2.14.
Bernd Porr [Mon, 7 Feb 2005 23:36:31 +0000 (23:36 +0000)]
Added proper insn command with a sampling rate of 1MHz/16.
Now 4 packets are ignored before data is sampled. One packet was not enough.
Improved timing for the multiplexer. Should run now reliable at high rates.
Frank Mori Hess [Sun, 6 Feb 2005 16:22:05 +0000 (16:22 +0000)]
fix license header (comedilib is lgpl)
Frank Mori Hess [Sun, 6 Feb 2005 16:06:00 +0000 (16:06 +0000)]
force read from channel 0 when CR_ALT_SRC is set in ai read insn.
Frank Mori Hess [Sat, 5 Feb 2005 15:23:26 +0000 (15:23 +0000)]
fix pcmcia_driver.drv.name
Frank Mori Hess [Sat, 5 Feb 2005 15:22:01 +0000 (15:22 +0000)]
fix for need_resched from Ian Abbott <abbotti@mev.co.uk>:
This patch alters the Comedi driver's linux/sched.h compatibility header
to move the need_resched function after the #include_next directive.
This is because the 'current' task variable is not defined until after
the real linux/sched.h is included. I've also removed the comment - "/*
not sure exactly when need_resched() was added */"; I've checked, and it
was added in 2.4.20 as the code stated. I thought I'd fix the incorrect
comment at the top of the file while I was at it.
Frank Mori Hess [Thu, 3 Feb 2005 23:48:24 +0000 (23:48 +0000)]
enable burst mode dma transfers on mite
Frank Mori Hess [Tue, 25 Jan 2005 23:44:43 +0000 (23:44 +0000)]
patch from Ian Abbott <abbotti@mev.co.uk>, who says:
This patch fixes a harmless logical error in the _attach routines of the
amplc_pc236 and amplc_pc263 drivers that I noticed while looking at the
pci_for_each_dev stuff. Also, now that the drivers ar using
pci_find_device instead of pci_for_each_dev, the patch offloads some of
the searching for a matching PCI device to the pci_find_device function.
The bug is just after the loop that finds the PCI device ID table entry
that matches the comedi board name. The test for reaching the end of
the PCI device ID table without finding a match was incorrect. I say
the bug is harmless because there would have to be another bug somewhere
else to trigger this bug.
Frank Mori Hess [Tue, 25 Jan 2005 23:41:58 +0000 (23:41 +0000)]
fix rounding error in bytes_per_scan() for dio subdevices, noted by
Ian Abbott <abbotti@mev.co.uk>. Also, round to nearest sampl_t or
lsampl_t size, instead of nearest byte size.
Frank Mori Hess [Sun, 23 Jan 2005 02:45:47 +0000 (02:45 +0000)]
rename some members of bufinfo struct to make output mmaps
workable
Frank Mori Hess [Sat, 22 Jan 2005 14:22:18 +0000 (14:22 +0000)]
got rid of pci_for_each_dev macro (which no longer exists in 2.6
kernels)
Frank Mori Hess [Sat, 22 Jan 2005 14:15:23 +0000 (14:15 +0000)]
alphabetized contributors
Frank Mori Hess [Fri, 14 Jan 2005 01:23:13 +0000 (01:23 +0000)]
fix for cmdtest check of start_arg, from Ian Abbott <abbotti@mev.co.uk>
Frank Mori Hess [Fri, 14 Jan 2005 01:19:43 +0000 (01:19 +0000)]
fix for gcc3.4 compile error from Ian Abbott <abbotti@mev.co.uk>
Bernd Porr [Thu, 13 Jan 2005 19:37:56 +0000 (19:37 +0000)]
Removed a transfer flag which gave a compilation error under 2.4.x.
Transfer works without it anyway. Thanks to Ian Abbott who reported the bug.