[PATCH 08/11] staging: comedi: pcmda12: tidy up zero_chans()

H Hartley Sweeten hsweeten at visionengravers.com
Tue Jun 4 02:05:45 UTC 2013


Rename the function so it has namespace associated with the driver.

For aesthetic reasons, move the function closer to it's only caller.

Pass the comedi_subdevice pointer to the function so we can get the
number of channels to reset from it instead of using the 'CHANS'
define.

Remove the 'CHANS' define since it's a very generic name.

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/pcmda12.c | 34 +++++++++++++++-----------------
 1 file changed, 16 insertions(+), 18 deletions(-)

diff --git a/drivers/staging/comedi/drivers/pcmda12.c b/drivers/staging/comedi/drivers/pcmda12.c
index 4e214e9..bc6cdd1 100644
--- a/drivers/staging/comedi/drivers/pcmda12.c
+++ b/drivers/staging/comedi/drivers/pcmda12.c
@@ -49,7 +49,6 @@ Configuration Options:
 
 #include "../comedidev.h"
 
-#define CHANS 8
 #define IOSIZE 16
 
 /* AI range is not configurable, it's set by jumpers on the board */
@@ -62,24 +61,10 @@ static const struct comedi_lrange pcmda12_ranges = {
 };
 
 struct pcmda12_private {
-
-	unsigned int ao_readback[CHANS];
+	unsigned int ao_readback[8];
 	int simultaneous_xfer_mode;
 };
 
-static void zero_chans(struct comedi_device *dev)
-{
-	int i;
-
-	for (i = 0; i < CHANS; ++i) {
-
-		outb(0, dev->iobase + (i * 2));
-		outb(0, dev->iobase + (i * 2) + 1);
-	}
-	/* Initiate transfer by reading one of the AO registers. */
-	inb(dev->iobase);
-}
-
 static int pcmda12_ao_insn_write(struct comedi_device *dev,
 				 struct comedi_subdevice *s,
 				 struct comedi_insn *insn,
@@ -130,6 +115,19 @@ static int pcmda12_ao_insn_read(struct comedi_device *dev,
 	return insn->n;
 }
 
+static void pcmda12_ao_reset(struct comedi_device *dev,
+			     struct comedi_subdevice *s)
+{
+	int i;
+
+	for (i = 0; i < s->n_chan; ++i) {
+		outb(0, dev->iobase + (i * 2));
+		outb(0, dev->iobase + (i * 2) + 1);
+	}
+	/* Initiate transfer by reading one of the AO registers. */
+	inb(dev->iobase);
+}
+
 static int pcmda12_attach(struct comedi_device *dev,
 			  struct comedi_devconfig *it)
 {
@@ -155,13 +153,13 @@ static int pcmda12_attach(struct comedi_device *dev,
 	s = &dev->subdevices[0];
 	s->type		= COMEDI_SUBD_AO;
 	s->subdev_flags	= SDF_READABLE | SDF_WRITABLE;
-	s->n_chan	= CHANS;
+	s->n_chan	= 8;
 	s->maxdata	= 0x0fff;
 	s->range_table	= &pcmda12_ranges;
 	s->insn_write	= pcmda12_ao_insn_write;
 	s->insn_read	= pcmda12_ao_insn_read;
 
-	zero_chans(dev);	/* clear out all the registers, basically */
+	pcmda12_ao_reset(dev, s);
 
 	return 1;
 }
-- 
1.8.1.4




More information about the devel mailing list