staging: comedi: multiq3: remove subdevice pointer math
authorH Hartley Sweeten <hartleys@visionengravers.com>
Thu, 6 Sep 2012 01:46:47 +0000 (18:46 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 6 Sep 2012 03:06:28 +0000 (20:06 -0700)
Convert the comedi_subdevice access from pointer math to array
access.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/multiq3.c

index eccbe1f..4625cb4 100644 (file)
@@ -204,8 +204,10 @@ static int multiq3_encoder_insn_read(struct comedi_device *dev,
 
 static void encoder_reset(struct comedi_device *dev)
 {
+       struct comedi_subdevice *s = &dev->subdevices[4];
        int chan;
-       for (chan = 0; chan < dev->subdevices[4].n_chan; chan++) {
+
+       for (chan = 0; chan < s->n_chan; chan++) {
                int control =
                    MULTIQ3_CONTROL_MUST | MULTIQ3_AD_MUX_EN | (chan << 3);
                outw(control, dev->iobase + MULTIQ3_CONTROL);
@@ -258,7 +260,7 @@ static int multiq3_attach(struct comedi_device *dev,
        if (result < 0)
                return result;
 
-       s = dev->subdevices + 0;
+       s = &dev->subdevices[0];
        /* ai subdevice */
        s->type = COMEDI_SUBD_AI;
        s->subdev_flags = SDF_READABLE | SDF_GROUND;
@@ -267,7 +269,7 @@ static int multiq3_attach(struct comedi_device *dev,
        s->maxdata = 0x1fff;
        s->range_table = &range_bipolar5;
 
-       s = dev->subdevices + 1;
+       s = &dev->subdevices[1];
        /* ao subdevice */
        s->type = COMEDI_SUBD_AO;
        s->subdev_flags = SDF_WRITABLE;
@@ -277,7 +279,7 @@ static int multiq3_attach(struct comedi_device *dev,
        s->maxdata = 0xfff;
        s->range_table = &range_bipolar5;
 
-       s = dev->subdevices + 2;
+       s = &dev->subdevices[2];
        /* di subdevice */
        s->type = COMEDI_SUBD_DI;
        s->subdev_flags = SDF_READABLE;
@@ -286,7 +288,7 @@ static int multiq3_attach(struct comedi_device *dev,
        s->maxdata = 1;
        s->range_table = &range_digital;
 
-       s = dev->subdevices + 3;
+       s = &dev->subdevices[3];
        /* do subdevice */
        s->type = COMEDI_SUBD_DO;
        s->subdev_flags = SDF_WRITABLE;
@@ -296,7 +298,7 @@ static int multiq3_attach(struct comedi_device *dev,
        s->range_table = &range_digital;
        s->state = 0;
 
-       s = dev->subdevices + 4;
+       s = &dev->subdevices[4];
        /* encoder (counter) subdevice */
        s->type = COMEDI_SUBD_COUNTER;
        s->subdev_flags = SDF_READABLE | SDF_LSAMPL;