staging: comedi: contec_pci_dio: cleanup contec_do_insn_bits
PATCH 7/7 staging: comedi: contec_pci_dio: cleanup contec_do_insn_bits
Create local variables for the mask and bits values passed in the data pointer to make this function a bit clearer.
Return the state of the output bits (s->state) in data[1] since this is what comedilib is expecting.
Signed-off-by H Hartley Sweeten <[email protected]>
Cc Ian Abbott <[email protected]>
Cc Greg Kroah-hartman <[email protected]>
--- drivers/staging/comedi/drivers/contec_pci_dio.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-)
drivers/staging/comedi/drivers/contec_pci_dio.c +9 -3
@@ -44,12 +44,18 @@ static int contec_do_insn_bits(struct comedi_device *dev,struct comedi_subdevice *s, struct comedi_insn *insn, unsigned int *data) { - if (data[0]) { - s->state &= ~data[0]; - s->state |= data[0 ] & data[1 ]; + unsigned int mask = data[0]; +unsigned int bits = data[1 ]; + +if (mask) { + s->state &= ~mask; + s->state |= (bits & mask);outw (s->state, dev->iobase +PIO1616L_DO_REG ); } + + data[1 ] = s->state; +return insn->n; }
Signature · 1 line
1.7.11