Commit 03a0d30f authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman

staging: comedi: ssv_dnp: use comedi_dio_update_state()

commit f6b316bc upstream.

Use comedi_dio_update_state() to handle the boilerplate code to update
the subdevice s->state.

Also, fix a bug where the state of the channels is returned in data[0].
The comedi core expects it to be returned in data[1].
Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: default avatarIan Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 70a9deaa
...@@ -251,11 +251,11 @@ static int dnp_dio_insn_bits(struct comedi_device *dev, ...@@ -251,11 +251,11 @@ static int dnp_dio_insn_bits(struct comedi_device *dev,
/* on return, data[1] contains the value of the digital input lines. */ /* on return, data[1] contains the value of the digital input lines. */
outb(PADR, CSCIR); outb(PADR, CSCIR);
data[0] = inb(CSCDR); data[1] = inb(CSCDR);
outb(PBDR, CSCIR); outb(PBDR, CSCIR);
data[0] += inb(CSCDR) << 8; data[1] += inb(CSCDR) << 8;
outb(PCDR, CSCIR); outb(PCDR, CSCIR);
data[0] += ((inb(CSCDR) & 0xF0) << 12); data[1] += ((inb(CSCDR) & 0xF0) << 12);
return 2; return 2;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment