diff options
author | H Hartley Sweeten <hartleys@visionengravers.com> | 2012-09-06 05:47:24 +0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-09-06 07:06:28 +0400 |
commit | a9c6f0bb2c06c5bdbb16c7f063811e977ce04892 (patch) | |
tree | 0154faade8730cdd92ea6b4733c3fd0331095b56 /drivers | |
parent | 3d30dca5738c87bc4c61d9530893b122e6c6a89f (diff) | |
download | linux-a9c6f0bb2c06c5bdbb16c7f063811e977ce04892.tar.xz |
staging: comedi: ni_65xx: remove subdevice pointer math
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/staging/comedi/drivers/ni_65xx.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/drivers/staging/comedi/drivers/ni_65xx.c b/drivers/staging/comedi/drivers/ni_65xx.c index bce39f1ea36d..f4c4233417eb 100644 --- a/drivers/staging/comedi/drivers/ni_65xx.c +++ b/drivers/staging/comedi/drivers/ni_65xx.c @@ -478,7 +478,7 @@ static int ni_65xx_dio_insn_bits(struct comedi_device *dev, static irqreturn_t ni_65xx_interrupt(int irq, void *d) { struct comedi_device *dev = d; - struct comedi_subdevice *s = dev->subdevices + 2; + struct comedi_subdevice *s = &dev->subdevices[2]; unsigned int status; status = readb(private(dev)->mite->daq_io_addr + Change_Status); @@ -678,7 +678,7 @@ static int ni_65xx_attach(struct comedi_device *dev, if (ret) return ret; - s = dev->subdevices + 0; + s = &dev->subdevices[0]; if (board(dev)->num_di_ports) { s->type = COMEDI_SUBD_DI; s->subdev_flags = SDF_READABLE; @@ -696,7 +696,7 @@ static int ni_65xx_attach(struct comedi_device *dev, s->type = COMEDI_SUBD_UNUSED; } - s = dev->subdevices + 1; + s = &dev->subdevices[1]; if (board(dev)->num_do_ports) { s->type = COMEDI_SUBD_DO; s->subdev_flags = SDF_READABLE | SDF_WRITABLE; @@ -713,7 +713,7 @@ static int ni_65xx_attach(struct comedi_device *dev, s->type = COMEDI_SUBD_UNUSED; } - s = dev->subdevices + 2; + s = &dev->subdevices[2]; if (board(dev)->num_dio_ports) { s->type = COMEDI_SUBD_DIO; s->subdev_flags = SDF_READABLE | SDF_WRITABLE; @@ -737,7 +737,7 @@ static int ni_65xx_attach(struct comedi_device *dev, s->type = COMEDI_SUBD_UNUSED; } - s = dev->subdevices + 3; + s = &dev->subdevices[3]; dev->read_subdev = s; s->type = COMEDI_SUBD_DI; s->subdev_flags = SDF_READABLE | SDF_CMD_READ; @@ -791,10 +791,13 @@ static void ni_65xx_detach(struct comedi_device *dev) if (dev->irq) free_irq(dev->irq, dev); if (private(dev)) { + struct comedi_subdevice *s; unsigned i; + for (i = 0; i < dev->n_subdevices; ++i) { - kfree(dev->subdevices[i].private); - dev->subdevices[i].private = NULL; + s = &dev->subdevices[i]; + kfree(s->private); + s->private = NULL; } if (private(dev)->mite) mite_unsetup(private(dev)->mite); |