staging: comedi: addi_apci_16xx: 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: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
2da43beab0
commit
a485f4d60e
@@ -87,17 +87,8 @@ static int apci16xx_dio_insn_bits(struct comedi_device *dev,
|
||||
struct comedi_insn *insn,
|
||||
unsigned int *data)
|
||||
{
|
||||
unsigned int mask = data[0];
|
||||
unsigned int bits = data[1];
|
||||
|
||||
/* Only update the channels configured as outputs */
|
||||
mask &= s->io_bits;
|
||||
if (mask) {
|
||||
s->state &= ~mask;
|
||||
s->state |= (bits & mask);
|
||||
|
||||
if (comedi_dio_update_state(s, data))
|
||||
outl(s->state, dev->iobase + APCI16XX_OUT_REG(s->index));
|
||||
}
|
||||
|
||||
data[1] = inl(dev->iobase + APCI16XX_IN_REG(s->index));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user