linux-xiaomi-chiron/drivers/staging/comedi
Ian Abbott be8e89087e staging: comedi: cb_pcidas64: fix incorrect AI range code handling
The hardware range code values and list of valid ranges for the AI
subdevice is incorrect for several supported boards.  The hardware range
code values for all boards except PCI-DAS4020/12 is determined by
calling `ai_range_bits_6xxx()` based on the maximum voltage of the range
and whether it is bipolar or unipolar, however it only returns the
correct hardware range code for the PCI-DAS60xx boards.  For
PCI-DAS6402/16 (and /12) it returns the wrong code for the unipolar
ranges.  For PCI-DAS64/Mx/16 it returns the wrong code for all the
ranges and the comedi range table is incorrect.

Change `ai_range_bits_6xxx()` to use a look-up table pointed to by new
member `ai_range_codes` of `struct pcidas64_board` to map the comedi
range table indices to the hardware range codes.  Use a new comedi range
table for the PCI-DAS64/Mx/16 boards (and the commented out variants).

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Cc: <stable@vger.kernel.org> # 3.18.x
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-25 19:59:09 +08:00
..
drivers staging: comedi: cb_pcidas64: fix incorrect AI range code handling 2015-01-25 19:59:09 +08:00
kcomedilib Staging: comedi: kcomedilib: Fixed a typo 2015-01-17 14:33:24 -08:00
comedi.h staging: comedi: add ioctls to set per-file read and write subdevice 2014-11-05 14:52:18 -08:00
comedi_buf.c staging: comedi: comedidev.h: add 'scans_done' member to comedi_async 2014-11-05 14:59:46 -08:00
comedi_compat32.c staging: comedi: add ioctls to set per-file read and write subdevice 2014-11-05 14:52:18 -08:00
comedi_compat32.h staging: comedi: comedi_compat32.h: checkpatch.pl --strict cleanup 2014-07-18 16:10:40 -07:00
comedi_fops.c staging: comedi: add ioctls to set per-file read and write subdevice 2014-11-05 14:52:18 -08:00
comedi_internal.h staging: comedi: comedi_internal.h: checkpatch.pl --strict cleanup 2014-07-18 16:10:39 -07:00
comedi_pci.c staging: comedi: split out PCI support into new module 2014-11-07 09:24:33 -08:00
comedi_pcmcia.c staging: comedi: split out PCMCIA support into new module 2014-11-07 09:24:33 -08:00
comedi_usb.c staging: comedi: split out USB support into new module 2014-11-07 09:24:33 -08:00
comedidev.h staging: comedi: drivers: introduce comedi_nsamples_left() 2014-11-07 09:29:41 -08:00
comedilib.h staging: comedi: comedi_bond: handle base channel for insn_bits 2013-08-26 06:41:56 -07:00
drivers.c staging: comedi: drivers: have core hook up default (*insn_read) for readback 2014-11-26 15:37:52 -08:00
Kconfig staging: comedi: ni_labpc_isadma: use comedi_isdma module 2015-01-17 14:32:55 -08:00
Makefile staging: comedi: split out PCI support into new module 2014-11-07 09:24:33 -08:00
proc.c Staging: comedi: proc: title block update 2014-03-19 04:41:04 +00:00
range.c staging: comedi: Remove unecessary function and it's call 2014-10-20 10:29:13 +08:00
TODO staging: comedi: TODO: remove item "reserve major number" 2014-05-28 14:18:11 -07:00