OSDN Git Service

staging: comedi: ni_6527: support INSN_CONFIG_DIGITAL_TRIG
authorIan Abbott <abbotti@mev.co.uk>
Mon, 21 Jul 2014 16:29:05 +0000 (17:29 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 22 Jul 2014 23:07:05 +0000 (16:07 -0700)
commit110f9e687c1a8490383612817ac03f4b29861da1
tree4d5dea9d237aee72c7af1ba80c6b35cce419b9a6
parentd484e33728f13ce1f0a0014d6b4068d053ed69b3
staging: comedi: ni_6527: support INSN_CONFIG_DIGITAL_TRIG

The "edge detection interrupt" subdevice supports the
`INSN_CONFIG_CHANGE_NOTIFY` comedi instruction which is only supported
by one other driver.  The `INSN_CONFIG_DIGITAL_TRIG` comedi instruction
is more flexible as it supports both edge and level detection, but is
not currently supported by this driver.

Add partial support for `INSN_CONFIG_DIGITAL_TRIG`, but only for edge
detection.  Make use of the `ni6527_set_edge_detection()` used for
`INSN_CONFIG_CHANGE_NOTIFY`, but add a parameter holding a mask of the
rising and falling edges to be updated and preserve the unmasked edges
when updating.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/ni_6527.c