kernel-fxtec-pro1x/drivers/staging/comedi
H Hartley Sweeten e523c6c862 staging: comedi: drivers: introduce comedi_dio_insn_config()
DIO subdevices always handle the INSN_CONFIG_DIO_{INPUT,OUTPUT} instructions
to configure the DIO channels. They also always handle the INSN_CONFIG_DIO_QUERY
instruction to query the configuration of a DIO channel.

Introduce a helper function to handle the (*insn_config) boilerplate for
comedi DIO subdevices. This function has the same paramters as (*insn_config)
functions with an additional parameter to allow the caller to pass a 'mask'
value for grouped DIO channels.

This function returns:

  0 if the instruction was successful but requires additional handling by
  the caller (INSN_CONFIG_DIO_{INPUT,OUTPUT}

  insn->n if the instruction was handled (INSN_CONFIG_DIO_QUERY)

  -EINVAL for all unhandled instructions

The caller is responsible for actually configuring the hardware based on
the configuration (s->io_bits).

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-08-12 15:17:45 -07:00
..
drivers Revert "staging: comedi: skel: use comedi_dio_insn_config()" 2013-08-12 15:17:17 -07:00
kcomedilib staging: comedi: do not include <linux/delay.h> if its not needed 2013-07-23 14:07:26 -07:00
comedi.h staging: comedi: remove FSF address from boilerplate text 2013-05-13 17:34:22 -04:00
comedi_buf.c staging: comedi: comedi_buf: needs <linux/vmalloc.h> 2013-07-24 10:01:25 -07:00
comedi_compat32.c staging: comedi: remove FSF address from boilerplate text 2013-05-13 17:34:22 -04:00
comedi_compat32.h staging: comedi: remove FSF address from boilerplate text 2013-05-13 17:34:22 -04:00
comedi_fops.c Merge 3.11-rc3 into staging-next 2013-07-29 07:40:10 -07:00
comedi_internal.h staging: comedi: use a mutex when accessing driver list 2013-07-23 14:22:29 -07:00
comedi_pci.c staging: comedi: remove FSF address from boilerplate text 2013-05-13 17:34:22 -04:00
comedi_pcmcia.c staging: comedi: remove FSF address from boilerplate text 2013-05-13 17:34:22 -04:00
comedi_usb.c staging: comedi: introduce comedi_to_usb_dev() 2013-05-21 10:59:10 -07:00
comedidev.h staging: comedi: drivers: introduce comedi_dio_insn_config() 2013-08-12 15:17:45 -07:00
comedilib.h staging: comedi: remove FSF address from boilerplate text 2013-05-13 17:34:22 -04:00
drivers.c staging: comedi: drivers: introduce comedi_dio_insn_config() 2013-08-12 15:17:45 -07:00
Kconfig staging: comedi: allow ISA and PC/104 drivers on non-ISA systems 2013-07-31 17:46:38 -07:00
Makefile staging: comedi: conditionally build in PCMCIA driver support 2013-01-31 10:38:10 +01:00
proc.c staging: comedi: use a mutex when accessing driver list 2013-07-23 14:22:29 -07:00
range.c staging: comedi: range: tidy up comedi_check_chanlist() 2013-07-25 13:20:17 -07:00
TODO MAINTAINERS: Update the list of maintainers for staging/comedi driver. 2013-07-24 09:51:18 -07:00