[PATCH 14/19] staging: comedi: adv_pci1724: absorb setup_subdevices()

H Hartley Sweeten hsweeten at visionengravers.com
Thu Nov 20 22:10:57 UTC 2014


For aesthetics, absorb this function into the (*auto_attach).

Add some whitespace to the subdevice init.

Signed-off-by: H Hartley Sweeten <hsweeten at visionengravers.com>
Cc: Ian Abbott <abbotti at mev.co.uk>
Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
---
 drivers/staging/comedi/drivers/adv_pci1724.c | 83 ++++++++++++----------------
 1 file changed, 35 insertions(+), 48 deletions(-)

diff --git a/drivers/staging/comedi/drivers/adv_pci1724.c b/drivers/staging/comedi/drivers/adv_pci1724.c
index 2df765f..fdcf3ab 100644
--- a/drivers/staging/comedi/drivers/adv_pci1724.c
+++ b/drivers/staging/comedi/drivers/adv_pci1724.c
@@ -130,80 +130,67 @@ static int adv_pci1724_insn_write(struct comedi_device *dev,
 	return insn->n;
 }
 
-/* Allocate and initialize the subdevice structures.
- */
-static int setup_subdevices(struct comedi_device *dev)
+static int adv_pci1724_auto_attach(struct comedi_device *dev,
+				   unsigned long context_unused)
 {
+	struct pci_dev *pcidev = comedi_to_pci_dev(dev);
 	struct comedi_subdevice *s;
+	unsigned int board_id;
 	int ret;
 
+	ret = comedi_pci_enable(dev);
+	if (ret)
+		return ret;
+
+	dev->iobase = pci_resource_start(pcidev, 2);
+	board_id = inl(dev->iobase + PCI1724_BOARD_ID_REG);
+	dev_info(dev->class_dev, "board id: %d\n",
+		 board_id & PCI1724_BOARD_ID_MASK);
+
 	ret = comedi_alloc_subdevices(dev, 3);
 	if (ret)
 		return ret;
 
-	/* analog output subdevice */
+	/* Analog Output subdevice */
 	s = &dev->subdevices[0];
-	s->type = COMEDI_SUBD_AO;
-	s->subdev_flags = SDF_READABLE | SDF_WRITABLE | SDF_GROUND;
-	s->n_chan = 32;
-	s->maxdata = 0x3fff;
-	s->range_table = &ao_ranges_1724;
-	s->insn_write = adv_pci1724_insn_write;
-	s->private = (void *)PCI1724_DAC_CTRL_MODE_NORMAL;
+	s->type		= COMEDI_SUBD_AO;
+	s->subdev_flags	= SDF_READABLE | SDF_WRITABLE | SDF_GROUND;
+	s->n_chan	= 32;
+	s->maxdata	= 0x3fff;
+	s->range_table	= &ao_ranges_1724;
+	s->insn_write	= adv_pci1724_insn_write;
+	s->private	= (void *)PCI1724_DAC_CTRL_MODE_NORMAL;
 
 	ret = comedi_alloc_subdev_readback(s);
 	if (ret)
 		return ret;
 
-	/* offset calibration */
+	/* Offset Calibration subdevice */
 	s = &dev->subdevices[1];
-	s->type = COMEDI_SUBD_CALIB;
-	s->subdev_flags = SDF_READABLE | SDF_WRITABLE | SDF_INTERNAL;
-	s->n_chan = 32;
-	s->maxdata = 0x3fff;
-	s->insn_write = adv_pci1724_insn_write;
-	s->private = (void *)PCI1724_DAC_CTRL_MODE_OFFSET;
+	s->type		= COMEDI_SUBD_CALIB;
+	s->subdev_flags	= SDF_READABLE | SDF_WRITABLE | SDF_INTERNAL;
+	s->n_chan	= 32;
+	s->maxdata	= 0x3fff;
+	s->insn_write	= adv_pci1724_insn_write;
+	s->private	= (void *)PCI1724_DAC_CTRL_MODE_OFFSET;
 
 	ret = comedi_alloc_subdev_readback(s);
 	if (ret)
 		return ret;
 
-	/* gain calibration */
+	/* Gain Calibration subdevice */
 	s = &dev->subdevices[2];
-	s->type = COMEDI_SUBD_CALIB;
-	s->subdev_flags = SDF_READABLE | SDF_WRITABLE | SDF_INTERNAL;
-	s->n_chan = 32;
-	s->maxdata = 0x3fff;
-	s->insn_write = adv_pci1724_insn_write;
-	s->private = (void *)PCI1724_DAC_CTRL_MODE_GAIN;
+	s->type		= COMEDI_SUBD_CALIB;
+	s->subdev_flags	= SDF_READABLE | SDF_WRITABLE | SDF_INTERNAL;
+	s->n_chan	= 32;
+	s->maxdata	= 0x3fff;
+	s->insn_write	= adv_pci1724_insn_write;
+	s->private	= (void *)PCI1724_DAC_CTRL_MODE_GAIN;
 
 	ret = comedi_alloc_subdev_readback(s);
 	if (ret)
 		return ret;
 
-	return 0;
-}
-
-static int adv_pci1724_auto_attach(struct comedi_device *dev,
-				   unsigned long context_unused)
-{
-	struct pci_dev *pcidev = comedi_to_pci_dev(dev);
-	int retval;
-	unsigned int board_id;
-
-	retval = comedi_pci_enable(dev);
-	if (retval)
-		return retval;
-
-	dev->iobase = pci_resource_start(pcidev, 2);
-	board_id = inl(dev->iobase + PCI1724_BOARD_ID_REG);
-	dev_info(dev->class_dev, "board id: %d\n",
-		 board_id & PCI1724_BOARD_ID_MASK);
-
-	retval = setup_subdevices(dev);
-	if (retval < 0)
-		return retval;
-
 	dev_info(dev->class_dev, "%s (pci %s) attached, board id: %u\n",
 		 dev->board_name, pci_name(pcidev), board_id);
 	return 0;
-- 
2.0.3



More information about the devel mailing list