Commit 3f507ce1 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman

staging: comedi: ni_atmio16d: remove subdevice pointer math

Convert the comedi_subdevice access from pointer math to array
access.
Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 66c5beee
...@@ -234,7 +234,7 @@ static void reset_atmio16d(struct comedi_device *dev) ...@@ -234,7 +234,7 @@ static void reset_atmio16d(struct comedi_device *dev)
static irqreturn_t atmio16d_interrupt(int irq, void *d) static irqreturn_t atmio16d_interrupt(int irq, void *d)
{ {
struct comedi_device *dev = d; struct comedi_device *dev = d;
struct comedi_subdevice *s = dev->subdevices + 0; struct comedi_subdevice *s = &dev->subdevices[0];
comedi_buf_put(s->async, inw(dev->iobase + AD_FIFO_REG)); comedi_buf_put(s->async, inw(dev->iobase + AD_FIFO_REG));
...@@ -724,7 +724,7 @@ static int atmio16d_attach(struct comedi_device *dev, ...@@ -724,7 +724,7 @@ static int atmio16d_attach(struct comedi_device *dev,
devpriv->dac1_coding = it->options[12]; devpriv->dac1_coding = it->options[12];
/* setup sub-devices */ /* setup sub-devices */
s = dev->subdevices + 0; s = &dev->subdevices[0];
dev->read_subdev = s; dev->read_subdev = s;
/* ai subdevice */ /* ai subdevice */
s->type = COMEDI_SUBD_AI; s->type = COMEDI_SUBD_AI;
...@@ -749,7 +749,7 @@ static int atmio16d_attach(struct comedi_device *dev, ...@@ -749,7 +749,7 @@ static int atmio16d_attach(struct comedi_device *dev,
} }
/* ao subdevice */ /* ao subdevice */
s++; s = &dev->subdevices[1];
s->type = COMEDI_SUBD_AO; s->type = COMEDI_SUBD_AO;
s->subdev_flags = SDF_WRITABLE; s->subdev_flags = SDF_WRITABLE;
s->n_chan = 2; s->n_chan = 2;
...@@ -775,7 +775,7 @@ static int atmio16d_attach(struct comedi_device *dev, ...@@ -775,7 +775,7 @@ static int atmio16d_attach(struct comedi_device *dev,
} }
/* Digital I/O */ /* Digital I/O */
s++; s = &dev->subdevices[2];
s->type = COMEDI_SUBD_DIO; s->type = COMEDI_SUBD_DIO;
s->subdev_flags = SDF_WRITABLE | SDF_READABLE; s->subdev_flags = SDF_WRITABLE | SDF_READABLE;
s->n_chan = 8; s->n_chan = 8;
...@@ -785,7 +785,7 @@ static int atmio16d_attach(struct comedi_device *dev, ...@@ -785,7 +785,7 @@ static int atmio16d_attach(struct comedi_device *dev,
s->range_table = &range_digital; s->range_table = &range_digital;
/* 8255 subdevice */ /* 8255 subdevice */
s++; s = &dev->subdevices[3];
if (board->has_8255) if (board->has_8255)
subdev_8255_init(dev, s, NULL, dev->iobase); subdev_8255_init(dev, s, NULL, dev->iobase);
else else
...@@ -793,7 +793,7 @@ static int atmio16d_attach(struct comedi_device *dev, ...@@ -793,7 +793,7 @@ static int atmio16d_attach(struct comedi_device *dev,
/* don't yet know how to deal with counter/timers */ /* don't yet know how to deal with counter/timers */
#if 0 #if 0
s++; s = &dev->subdevices[4];
/* do */ /* do */
s->type = COMEDI_SUBD_TIMER; s->type = COMEDI_SUBD_TIMER;
s->n_chan = 0; s->n_chan = 0;
...@@ -807,9 +807,12 @@ static int atmio16d_attach(struct comedi_device *dev, ...@@ -807,9 +807,12 @@ static int atmio16d_attach(struct comedi_device *dev,
static void atmio16d_detach(struct comedi_device *dev) static void atmio16d_detach(struct comedi_device *dev)
{ {
const struct atmio16_board_t *board = comedi_board(dev); const struct atmio16_board_t *board = comedi_board(dev);
struct comedi_subdevice *s;
if (dev->subdevices && board->has_8255) if (dev->subdevices && board->has_8255) {
subdev_8255_cleanup(dev, dev->subdevices + 3); s = &dev->subdevices[3];
subdev_8255_cleanup(dev, s);
}
if (dev->irq) if (dev->irq)
free_irq(dev->irq, dev); free_irq(dev->irq, dev);
reset_atmio16d(dev); reset_atmio16d(dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment