[PATCH 00/62] staging: comedi: cleanup analog output 'readback'

H Hartley Sweeten hsweeten at visionengravers.com
Mon Aug 25 23:03:53 UTC 2014


The hardware for the analog output subdevices is normally write-only. In
order to provide a 'readback' mechanism the last values written to the
analog output channels is cached in the private data of the comedi driver.
This allows the user to do an (*insn_read) operation to get back the last
values for each channel.

This series adds a 'readback' member to the comedi_device and provides a
core (*insn_read) function to handle this boilerplate. The series then
converts the comedi drivers to use the new 'readback' member.

H Hartley Sweeten (62):
  staging: comedi: add a 'readback' member to comedi_subdevice
  staging: comedi: skel: use comedi_subdevice 'readback'
  staging: comedi: adl_pci6208: use comedi_subdevice 'readback'
  staging: comedi: aio_aio12_8: use comedi_subdevice 'readback'
  staging: comedi: dac02: use comedi_subdevice 'readback'
  staging: comedi: fl512: use comedi_subdevice 'readback'
  staging: comedi: multiq3: use comedi_subdevice 'readback'
  staging: comedi: cb_pcimdda: use comedi_subdevice 'readback'
  staging: comedi: adl_pci9111: use comedi_subdevice 'readback'
  staging: comedi: das16: use comedi_subdevice 'readback'
  staging: comedi: dt282x: use comedi_subdevice 'readback'
  staging: comedi: icp_multi: use comedi_subdevice 'readback'
  staging: comedi: pcl726: use comedi_subdevice 'readback'
  staging: comedi: s526: use comedi_subdevice 'readback'
  staging: comedi: rti802: use comedi_subdevice 'readback'
  staging: comedi: s626: use comedi_subdevice 'readback'
  staging: comedi: pcl812: use comedi_subdevice 'readback'
  staging: comedi: pcl711: use comedi_subdevice 'readback'
  staging: comedi: ni_at_ao: use comedi_subdevice 'readback'
  staging: comedi: pcmda12: use comedi_subdevice 'readback'
  staging: comedi: pcmmio: use comedi_subdevice 'readback'
  staging: comedi: ni_mio_common: use comedi_subdevice 'readback'
  staging: comedi: usbdux: use comedi_subdevice 'readback'
  staging: comedi: usbduxsigma: use comedi_subdevice 'readback'
  staging: comedi: das6402: use comedi_subdevice 'readback'
  staging: comedi: dt9812: use comedi_subdevice 'readback'
  staging: comedi: dt2811: use comedi_subdevice 'readback'
  staging: comedi: addi_apci_3501: use comedi_subdevice 'readback'
  staging: comedi: cb_das16_cs: use comedi_subdevice 'readback'
  staging: comedi: amplc_pci224: use comedi_subdevice 'readback'
  staging: comedi: amplc_pci230: use comedi_subdevice 'readback'
  staging: comedi: addi_apci_3xxx: use comedi_subdevice 'readback'
  staging: comedi: ni_atmio16d: cleanup atmio16d_ao_insn_write()
  staging: comedi: ni_atmio16d: use comedi_subdevice 'readback'
  staging: comedi: me_daq: fix bug in me_ao_insn_write()
  staging: comedi: me_daq: use comedi_subdevice 'readback'
  staging: comedi: ii_pci20kc: save unmunged data for ao readback
  staging: comedi: ii_pci20kc: use comedi_subdevice 'readback'
  staging: comedi: dt3000: use comedi_subdevice 'readback'
  staging: comedi: quatech_daqp_cs: fix bug in daqp_ao_insn_write()
  staging: comedi: quatech_daqp_cs: use comedi_subdevice 'readback'
  staging: comedi: pcl818: use comedi_subdevice 'readback'
  staging: comedi: das08: fix bug in das08_ao_winsn()
  staging: comedi: das08: use comedi_subdevice 'readback'
  staging: comedi: rti800: save unmunged data for ao readback
  staging: comedi: rti800: use comedi_subdevice 'readback'
  staging: comedi: daqboard2000: remove #if 0'ed out code in ao (*insn_write)
  staging: comedi: daqboard2000: use comedi_subdevice 'readback'
  staging: comedi: dmm32at: cleanup dmm32at_ao_winsn()
  staging: comedi: dmm32at: use comedi_subdevice 'readback'
  staging: comedi: ni_670x: cleanup ni_670x_ao_winsn()
  staging: comedi: ni_670x: use comedi_subdevice 'readback'
  staging: comedi: cb_pcimdas: cleanup cb_pcimdas_ao_winsn()
  staging: comedi: cb_pcimdas: use comedi_subdevice 'readback'
  staging: comedi: mf6x4: analog output data does not need extra masking
  staging: comedi: mf6x4: use comedi_subdevice 'readback'
  staging: comedi: cb_pcidas: use comedi_subdevice 'readback'
  staging: comedi: cb_pcidas64: use comedi_subdevice 'readback'
  staging: comedi: dt2801: use comedi_subdevice 'readback'
  staging: comedi: rtd520: use comedi_subdevice 'readback'
  staging: comedi: me4000: remove sanity checks in me4000_ao_insn_write()
  staging: comedi: me4000: use comedi_subdevice 'readback'

 drivers/staging/comedi/comedidev.h               |  6 ++
 drivers/staging/comedi/drivers.c                 | 42 ++++++++++++++
 drivers/staging/comedi/drivers/addi_apci_3501.c  | 19 ++++--
 drivers/staging/comedi/drivers/addi_apci_3xxx.c  | 11 +++-
 drivers/staging/comedi/drivers/adl_pci6208.c     | 38 +++---------
 drivers/staging/comedi/drivers/adl_pci9111.c     | 28 +++------
 drivers/staging/comedi/drivers/aio_aio12_8.c     | 47 +++++----------
 drivers/staging/comedi/drivers/amplc_pci224.c    | 73 ++++++-----------------
 drivers/staging/comedi/drivers/amplc_pci230.c    | 74 ++++++++----------------
 drivers/staging/comedi/drivers/cb_das16_cs.c     | 44 ++++++--------
 drivers/staging/comedi/drivers/cb_pcidas.c       | 30 ++++------
 drivers/staging/comedi/drivers/cb_pcidas64.c     | 22 +++----
 drivers/staging/comedi/drivers/cb_pcimdas.c      | 57 ++++++------------
 drivers/staging/comedi/drivers/cb_pcimdda.c      | 57 +++++++-----------
 drivers/staging/comedi/drivers/dac02.c           | 33 ++---------
 drivers/staging/comedi/drivers/daqboard2000.c    | 51 ++++------------
 drivers/staging/comedi/drivers/das08.c           | 68 +++++++++-------------
 drivers/staging/comedi/drivers/das08.h           |  1 -
 drivers/staging/comedi/drivers/das16.c           | 11 +++-
 drivers/staging/comedi/drivers/das6402.c         | 14 ++---
 drivers/staging/comedi/drivers/dmm32at.c         | 69 ++++++++--------------
 drivers/staging/comedi/drivers/dt2801.c          | 28 ++++-----
 drivers/staging/comedi/drivers/dt2811.c          | 46 ++++++---------
 drivers/staging/comedi/drivers/dt282x.c          | 31 +++-------
 drivers/staging/comedi/drivers/dt3000.c          | 42 +++++---------
 drivers/staging/comedi/drivers/dt9812.c          | 27 +++++----
 drivers/staging/comedi/drivers/fl512.c           | 35 +++--------
 drivers/staging/comedi/drivers/icp_multi.c       | 53 ++++++-----------
 drivers/staging/comedi/drivers/ii_pci20kc.c      | 39 +++----------
 drivers/staging/comedi/drivers/me4000.c          | 63 +++-----------------
 drivers/staging/comedi/drivers/me_daq.c          | 30 ++++------
 drivers/staging/comedi/drivers/mf6x4.c           | 31 +++-------
 drivers/staging/comedi/drivers/multiq3.c         | 46 +++++----------
 drivers/staging/comedi/drivers/ni_670x.c         | 62 +++++++++-----------
 drivers/staging/comedi/drivers/ni_at_ao.c        | 35 ++++-------
 drivers/staging/comedi/drivers/ni_atmio16d.c     | 61 ++++++++-----------
 drivers/staging/comedi/drivers/ni_mio_common.c   | 25 +++-----
 drivers/staging/comedi/drivers/ni_stc.h          |  1 -
 drivers/staging/comedi/drivers/pcl711.c          | 27 +++------
 drivers/staging/comedi/drivers/pcl726.c          | 29 +++-------
 drivers/staging/comedi/drivers/pcl812.c          | 36 ++++--------
 drivers/staging/comedi/drivers/pcl818.c          | 33 ++++-------
 drivers/staging/comedi/drivers/pcmda12.c         | 16 +++--
 drivers/staging/comedi/drivers/pcmmio.c          | 29 +++-------
 drivers/staging/comedi/drivers/quatech_daqp_cs.c | 11 +++-
 drivers/staging/comedi/drivers/rtd520.c          | 26 ++-------
 drivers/staging/comedi/drivers/rti800.c          | 32 ++++------
 drivers/staging/comedi/drivers/rti802.c          | 29 +++-------
 drivers/staging/comedi/drivers/s526.c            | 43 ++++++--------
 drivers/staging/comedi/drivers/s626.c            | 41 ++++++-------
 drivers/staging/comedi/drivers/skel.c            | 66 +++++++++++----------
 drivers/staging/comedi/drivers/usbdux.c          | 25 ++++----
 drivers/staging/comedi/drivers/usbduxsigma.c     | 22 ++++---
 53 files changed, 682 insertions(+), 1233 deletions(-)

-- 
2.0.3



More information about the devel mailing list