staging: comedi: kcomedilib: remove subdevice pointer math
authorH Hartley Sweeten <hartleys@visionengravers.com>
Thu, 6 Sep 2012 01:59:26 +0000 (18:59 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 6 Sep 2012 03:06:32 +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/kcomedilib/kcomedilib_main.c

index 0252b44..f96416d 100644 (file)
@@ -90,7 +90,7 @@ static int comedi_do_insn(struct comedi_device *dev, struct comedi_insn *insn)
                ret = -EINVAL;
                goto error;
        }
-       s = dev->subdevices + insn->subdev;
+       s = &dev->subdevices[insn->subdev];
 
        if (s->type == COMEDI_SUBD_UNUSED) {
                printk(KERN_ERR "%d not useable subdevice\n", insn->subdev);
@@ -175,11 +175,14 @@ EXPORT_SYMBOL(comedi_dio_bitfield);
 int comedi_find_subdevice_by_type(struct comedi_device *dev, int type,
                                  unsigned int subd)
 {
+       struct comedi_subdevice *s;
+
        if (subd > dev->n_subdevices)
                return -ENODEV;
 
        for (; subd < dev->n_subdevices; subd++) {
-               if (dev->subdevices[subd].type == type)
+               s = &dev->subdevices[subd];
+               if (s->type == type)
                        return subd;
        }
        return -1;
@@ -188,7 +191,7 @@ EXPORT_SYMBOL(comedi_find_subdevice_by_type);
 
 int comedi_get_n_channels(struct comedi_device *dev, unsigned int subdevice)
 {
-       struct comedi_subdevice *s = dev->subdevices + subdevice;
+       struct comedi_subdevice *s = &dev->subdevices[subdevice];
 
        return s->n_chan;
 }