Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

staging: comedi: pcmuio: tidy up pcmuio_attach()

Clean up the local variables, 'sdev_no' and 'asic' are both used in
simple for () loops. Use the local variable 'i' for both cases. The
'n_subdevs' variable is only used in one place, just remove it.

For aesthetics, add some whitespace to the subdevice init and reorder
it to follow the more typical style in comedi drivers.

Remove the unnecessary init of s->len_chanlist for subdevices that do
not support async commands (interrupts). The core will default it to
the correct value.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

H Hartley Sweeten and committed by
Greg Kroah-Hartman
fc5ba1bd fbd66a7e

+19 -24
+19 -24
drivers/staging/comedi/drivers/pcmuio.c
··· 591 591 const struct pcmuio_board *board = comedi_board(dev); 592 592 struct comedi_subdevice *s; 593 593 struct pcmuio_private *devpriv; 594 - int sdev_no, n_subdevs, asic; 595 594 int ret; 595 + int i; 596 596 597 597 ret = comedi_request_region(dev, it->options[0], 598 598 board->num_asics * PCMUIO_ASIC_IOSIZE); ··· 603 603 if (!devpriv) 604 604 return -ENOMEM; 605 605 606 - for (asic = 0; asic < PCMUIO_MAX_ASICS; ++asic) { 607 - struct pcmuio_asic *chip = &devpriv->asics[asic]; 606 + for (i = 0; i < PCMUIO_MAX_ASICS; ++i) { 607 + struct pcmuio_asic *chip = &devpriv->asics[i]; 608 608 609 609 spin_lock_init(&chip->pagelock); 610 610 spin_lock_init(&chip->spinlock); ··· 633 633 } 634 634 } 635 635 636 - n_subdevs = board->num_asics * 2; 637 - 638 - ret = comedi_alloc_subdevices(dev, n_subdevs); 636 + ret = comedi_alloc_subdevices(dev, board->num_asics * 2); 639 637 if (ret) 640 638 return ret; 641 639 642 - for (sdev_no = 0; sdev_no < (int)dev->n_subdevices; ++sdev_no) { 643 - s = &dev->subdevices[sdev_no]; 644 - s->maxdata = 1; 645 - s->range_table = &range_digital; 646 - s->subdev_flags = SDF_READABLE | SDF_WRITABLE; 647 - s->type = COMEDI_SUBD_DIO; 648 - s->insn_bits = pcmuio_dio_insn_bits; 649 - s->insn_config = pcmuio_dio_insn_config; 650 - s->n_chan = 24; 640 + for (i = 0; i < dev->n_subdevices; ++i) { 641 + s = &dev->subdevices[i]; 642 + s->type = COMEDI_SUBD_DIO; 643 + s->subdev_flags = SDF_READABLE | SDF_WRITABLE; 644 + s->n_chan = 24; 645 + s->maxdata = 1; 646 + s->range_table = &range_digital; 647 + s->insn_bits = pcmuio_dio_insn_bits; 648 + s->insn_config = pcmuio_dio_insn_config; 651 649 652 650 /* subdevices 0 and 2 can suppport interrupts */ 653 - if ((sdev_no == 0 && dev->irq) || 654 - (sdev_no == 2 && devpriv->irq2)) { 651 + if ((i == 0 && dev->irq) || (i == 2 && devpriv->irq2)) { 655 652 /* setup the interrupt subdevice */ 656 653 dev->read_subdev = s; 657 - s->subdev_flags |= SDF_CMD_READ; 658 - s->cancel = pcmuio_cancel; 659 - s->do_cmd = pcmuio_cmd; 660 - s->do_cmdtest = pcmuio_cmdtest; 661 - s->len_chanlist = s->n_chan; 662 - } else { 663 - s->len_chanlist = 1; 654 + s->subdev_flags |= SDF_CMD_READ; 655 + s->len_chanlist = s->n_chan; 656 + s->cancel = pcmuio_cancel; 657 + s->do_cmd = pcmuio_cmd; 658 + s->do_cmdtest = pcmuio_cmdtest; 664 659 } 665 660 } 666 661