From: H Hartley Sweeten Date: Thu, 6 Sep 2012 01:47:24 +0000 (-0700) Subject: staging: comedi: ni_65xx: remove subdevice pointer math X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=a9c6f0bb2c06c5bdbb16c7f063811e977ce04892;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git 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 Signed-off-by: Greg Kroah-Hartman --- 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);