From: H Hartley Sweeten Date: Tue, 9 Apr 2013 01:18:26 +0000 (-0700) Subject: staging: comedi: rti800: tidy up rti800_do_insn_bits() X-Git-Tag: v3.10-rc1~192^2~199 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=bd838bea6a694bfa5bef5f3d0a1ed0484b7142f0;p=~emulex%2Finfiniband.git staging: comedi: rti800: tidy up rti800_do_insn_bits() To clarify the function a bit, add local variables for the 'mask' and 'bits', passed by the comedi core, used to update the digital outputs. Signed-off-by: H Hartley Sweeten Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/comedi/drivers/rti800.c b/drivers/staging/comedi/drivers/rti800.c index 72bda292645..4b2ddc04c17 100644 --- a/drivers/staging/comedi/drivers/rti800.c +++ b/drivers/staging/comedi/drivers/rti800.c @@ -265,11 +265,16 @@ static int rti800_di_insn_bits(struct comedi_device *dev, static int rti800_do_insn_bits(struct comedi_device *dev, struct comedi_subdevice *s, - struct comedi_insn *insn, unsigned int *data) + 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); + /* Outputs are inverted... */ outb(s->state ^ 0xff, dev->iobase + RTI800_DO); }