staging: comedi: ni_pcidio: 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>
This commit is contained in:
H Hartley Sweeten 2012-09-05 18:50:39 -07:00 committed by Greg Kroah-Hartman
parent f9cd92eb81
commit 88892ca3ce

View file

@ -480,7 +480,7 @@ static int ni_pcidio_poll(struct comedi_device *dev, struct comedi_subdevice *s)
static irqreturn_t nidio_interrupt(int irq, void *d) static irqreturn_t nidio_interrupt(int irq, void *d)
{ {
struct comedi_device *dev = d; struct comedi_device *dev = d;
struct comedi_subdevice *s = dev->subdevices; struct comedi_subdevice *s = &dev->subdevices[0];
struct comedi_async *async = s->async; struct comedi_async *async = s->async;
struct mite_struct *mite = devpriv->mite; struct mite_struct *mite = devpriv->mite;
@ -1252,8 +1252,8 @@ static int nidio_attach(struct comedi_device *dev, struct comedi_devconfig *it)
if (!this_board->is_diodaq) { if (!this_board->is_diodaq) {
for (i = 0; i < this_board->n_8255; i++) { for (i = 0; i < this_board->n_8255; i++) {
subdev_8255_init(dev, dev->subdevices + i, s = &dev->subdevices[i];
nidio96_8255_cb, subdev_8255_init(dev, s, nidio96_8255_cb,
(unsigned long)(devpriv->mite-> (unsigned long)(devpriv->mite->
daq_io_addr + daq_io_addr +
NIDIO_8255_BASE(i))); NIDIO_8255_BASE(i)));
@ -1263,7 +1263,7 @@ static int nidio_attach(struct comedi_device *dev, struct comedi_devconfig *it)
printk(KERN_INFO " rev=%d", printk(KERN_INFO " rev=%d",
readb(devpriv->mite->daq_io_addr + Chip_Version)); readb(devpriv->mite->daq_io_addr + Chip_Version));
s = dev->subdevices + 0; s = &dev->subdevices[0];
dev->read_subdev = s; dev->read_subdev = s;
s->type = COMEDI_SUBD_DIO; s->type = COMEDI_SUBD_DIO;
@ -1307,11 +1307,14 @@ static int nidio_attach(struct comedi_device *dev, struct comedi_devconfig *it)
static void nidio_detach(struct comedi_device *dev) static void nidio_detach(struct comedi_device *dev)
{ {
struct comedi_subdevice *s;
int i; int i;
if (this_board && !this_board->is_diodaq) { if (this_board && !this_board->is_diodaq) {
for (i = 0; i < this_board->n_8255; i++) for (i = 0; i < this_board->n_8255; i++) {
subdev_8255_cleanup(dev, dev->subdevices + i); s = &dev->subdevices[i];
subdev_8255_cleanup(dev, s);
}
} }
if (dev->irq) if (dev->irq)
free_irq(dev->irq, dev); free_irq(dev->irq, dev);