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

staging: comedi: addi_apci_3xxx: use comedi_dio_update_state()

The extra mask used to only update the channels configured as outputs is
not necessary in this driver. Remove it and use comedi_dio_update_state()
to handle the boilerplate code to update the subdevice s->state.
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 a485f4d6
...@@ -711,16 +711,11 @@ static int apci3xxx_dio_insn_bits(struct comedi_device *dev, ...@@ -711,16 +711,11 @@ static int apci3xxx_dio_insn_bits(struct comedi_device *dev,
struct comedi_insn *insn, struct comedi_insn *insn,
unsigned int *data) unsigned int *data)
{ {
unsigned int mask = data[0]; unsigned int mask;
unsigned int bits = data[1];
unsigned int val; unsigned int val;
/* only update output channels */ mask = comedi_dio_update_state(s, data);
mask &= s->io_bits;
if (mask) { if (mask) {
s->state &= ~mask;
s->state |= (bits & mask);
if (mask & 0xff) if (mask & 0xff)
outl(s->state & 0xff, dev->iobase + 80); outl(s->state & 0xff, dev->iobase + 80);
if (mask & 0xff0000) if (mask & 0xff0000)
......
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