diff options
author | H Hartley Sweeten <hartleys@visionengravers.com> | 2012-09-05 18:49:58 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-09-05 20:06:29 -0700 |
commit | c65e3be19a9c256ce88f057241f5a168aa3bff70 (patch) | |
tree | a36d2aaf9cf71f7706422a417152bcbfbcbaa471 | |
parent | 06e915e2ac55afb4989da4fb212150aa67a369ca (diff) | |
download | op-kernel-dev-c65e3be19a9c256ce88f057241f5a168aa3bff70.zip op-kernel-dev-c65e3be19a9c256ce88f057241f5a168aa3bff70.tar.gz |
staging: comedi: ni_labpc: 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>
-rw-r--r-- | drivers/staging/comedi/drivers/ni_labpc.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/drivers/staging/comedi/drivers/ni_labpc.c b/drivers/staging/comedi/drivers/ni_labpc.c index ab8b787..65d5dfc 100644 --- a/drivers/staging/comedi/drivers/ni_labpc.c +++ b/drivers/staging/comedi/drivers/ni_labpc.c @@ -628,7 +628,7 @@ int labpc_common_attach(struct comedi_device *dev, unsigned long iobase, return ret; /* analog input subdevice */ - s = dev->subdevices + 0; + s = &dev->subdevices[0]; dev->read_subdev = s; s->type = COMEDI_SUBD_AI; s->subdev_flags = @@ -643,7 +643,7 @@ int labpc_common_attach(struct comedi_device *dev, unsigned long iobase, s->cancel = labpc_cancel; /* analog output */ - s = dev->subdevices + 1; + s = &dev->subdevices[1]; if (thisboard->has_ao) { /* * Could provide command support, except it only has a @@ -670,7 +670,7 @@ int labpc_common_attach(struct comedi_device *dev, unsigned long iobase, } /* 8255 dio */ - s = dev->subdevices + 2; + s = &dev->subdevices[2]; /* if board uses io memory we have to give a custom callback * function to the 8255 driver */ if (thisboard->memory_mapped_io) @@ -680,7 +680,7 @@ int labpc_common_attach(struct comedi_device *dev, unsigned long iobase, subdev_8255_init(dev, s, NULL, dev->iobase + DIO_BASE_REG); /* calibration subdevices for boards that have one */ - s = dev->subdevices + 3; + s = &dev->subdevices[3]; if (thisboard->register_layout == labpc_1200_layout) { s->type = COMEDI_SUBD_CALIB; s->subdev_flags = SDF_READABLE | SDF_WRITABLE | SDF_INTERNAL; @@ -695,7 +695,7 @@ int labpc_common_attach(struct comedi_device *dev, unsigned long iobase, s->type = COMEDI_SUBD_UNUSED; /* EEPROM */ - s = dev->subdevices + 4; + s = &dev->subdevices[4]; if (thisboard->register_layout == labpc_1200_layout) { s->type = COMEDI_SUBD_MEMORY; s->subdev_flags = SDF_READABLE | SDF_WRITABLE | SDF_INTERNAL; @@ -809,8 +809,12 @@ static int labpc_find_device(struct comedi_device *dev, int bus, int slot) void labpc_common_detach(struct comedi_device *dev) { - if (dev->subdevices) - subdev_8255_cleanup(dev, dev->subdevices + 2); + struct comedi_subdevice *s; + + if (dev->subdevices) { + s = &dev->subdevices[2]; + subdev_8255_cleanup(dev, s); + } #ifdef CONFIG_ISA_DMA_API /* only free stuff if it has been allocated by _attach */ kfree(devpriv->dma_buffer); |