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

index c8fe23c..7b3c429 100644 (file)
@@ -99,6 +99,7 @@ static int subdev_8255mapped_cb(int dir, int port, int data,
 static int pcl724_attach(struct comedi_device *dev, struct comedi_devconfig *it)
 {
        const struct pcl724_board *board = comedi_board(dev);
+       struct comedi_subdevice *s;
        unsigned long iobase;
        unsigned int iorange;
        int ret, i, n_subdevices;
@@ -161,14 +162,13 @@ static int pcl724_attach(struct comedi_device *dev, struct comedi_devconfig *it)
                return ret;
 
        for (i = 0; i < dev->n_subdevices; i++) {
+               s = &dev->subdevices[i];
                if (board->is_pet48) {
-                       subdev_8255_init(dev, dev->subdevices + i,
-                                        subdev_8255mapped_cb,
+                       subdev_8255_init(dev, s, subdev_8255mapped_cb,
                                         (unsigned long)(dev->iobase +
                                                         i * 0x1000));
                } else
-                       subdev_8255_init(dev, dev->subdevices + i,
-                                        subdev_8255_cb,
+                       subdev_8255_init(dev, s, subdev_8255_cb,
                                         (unsigned long)(dev->iobase +
                                                         SIZE_8255 * i));
        }
@@ -179,10 +179,13 @@ static int pcl724_attach(struct comedi_device *dev, struct comedi_devconfig *it)
 static void pcl724_detach(struct comedi_device *dev)
 {
        const struct pcl724_board *board = comedi_board(dev);
+       struct comedi_subdevice *s;
        int i;
 
-       for (i = 0; i < dev->n_subdevices; i++)
-               subdev_8255_cleanup(dev, dev->subdevices + i);
+       for (i = 0; i < dev->n_subdevices; i++) {
+               s = &dev->subdevices[i];
+               subdev_8255_cleanup(dev, s);
+       }
 #ifdef PCL724_IRQ
        if (dev->irq)
                free_irq(dev->irq, dev);