Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit afe5c118 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman
Browse files

staging: comedi: adv_pci_dio: post increment 'subdev' in (*auto_attach)



For aesthetics, post-increment the 'subdev' index when used to get a
comedi_subdevice pointer instead of incrementing it after the subdevice
is initialized.

Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: default avatarIan Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c1e07ea2
Loading
Loading
Loading
Loading
+5 −11
Original line number Diff line number Diff line
@@ -557,38 +557,34 @@ static int pci_dio_auto_attach(struct comedi_device *dev,
	subdev = 0;
	for (i = 0; i < MAX_DI_SUBDEVS; i++)
		if (board->sdi[i].chans) {
			s = &dev->subdevices[subdev];
			s = &dev->subdevices[subdev++];
			pci_dio_add_di(dev, s, &board->sdi[i]);
			subdev++;
		}

	for (i = 0; i < MAX_DO_SUBDEVS; i++)
		if (board->sdo[i].chans) {
			s = &dev->subdevices[subdev];
			s = &dev->subdevices[subdev++];
			pci_dio_add_do(dev, s, &board->sdo[i]);
			subdev++;
		}

	for (i = 0; i < MAX_DIO_SUBDEVG; i++)
		for (j = 0; j < board->sdio[i].regs; j++) {
			s = &dev->subdevices[subdev];
			s = &dev->subdevices[subdev++];
			ret = subdev_8255_init(dev, s, NULL,
					       board->sdio[i].addr +
					       j * I8255_SIZE);
			if (ret)
				return ret;
			subdev++;
		}

	if (board->boardid.chans) {
		s = &dev->subdevices[subdev];
		s = &dev->subdevices[subdev++];
		s->type = COMEDI_SUBD_DI;
		pci_dio_add_di(dev, s, &board->boardid);
		subdev++;
	}

	if (board->timer_regbase) {
		s = &dev->subdevices[subdev];
		s = &dev->subdevices[subdev++];

		dev->pacer = comedi_8254_init(dev->iobase +
					      board->timer_regbase,
@@ -597,8 +593,6 @@ static int pci_dio_auto_attach(struct comedi_device *dev,
			return -ENOMEM;

		comedi_8254_subdevice_init(s, dev->pacer);

		subdev++;
	}

	pci_dio_reset(dev);