[PATCH 23/45] staging: comedi: cb_pcidas: tidy up trimpot_8402_write()

H Hartley Sweeten hsweeten at visionengravers.com
Wed Oct 14 00:47:47 UTC 2015


Rename this function so it has namespace associated with the driver.
Change the return type to void, it always returns '0' and the return
value is never checked.

For aesthetics, remove the 'static const' local variables. They don't
add any significant value.

Remove the 'bitstream' local variable. The 'value' passed to this
function will always be in the correct range due to s->maxdata so
the masking is not necessary. Change the type of the 'value' param
to match the callers type and write_calibration_bitstream()'s type.

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/cb_pcidas.c | 28 +++++++++++++---------------
 1 file changed, 13 insertions(+), 15 deletions(-)

diff --git a/drivers/staging/comedi/drivers/cb_pcidas.c b/drivers/staging/comedi/drivers/cb_pcidas.c
index 0d3d18a..90ddb68 100644
--- a/drivers/staging/comedi/drivers/cb_pcidas.c
+++ b/drivers/staging/comedi/drivers/cb_pcidas.c
@@ -645,26 +645,24 @@ static void cb_pcidas_trimpot_7376_write(struct comedi_device *dev,
 	outw(cal_enable_bits(dev), devpriv->pcibar1 + PCIDAS_CALIB_REG);
 }
 
-static int trimpot_8402_write(struct comedi_device *dev, unsigned int channel,
-			      u8 value)
+static void cb_pcidas_trimpot_8402_write(struct comedi_device *dev,
+					 unsigned int chan, unsigned int val)
 {
 	struct cb_pcidas_private *devpriv = dev->private;
-	static const int bitstream_length = 10;
-	unsigned int bitstream = ((channel & 0x3) << 8) | (value & 0xff);
-	unsigned int register_bits;
-	static const int ad8402_udelay = 1;
+	unsigned int calib_bits;
 
-	register_bits = cal_enable_bits(dev) | PCIDAS_CALIB_TRIM_SEL;
-	udelay(ad8402_udelay);
-	outw(register_bits, devpriv->pcibar1 + PCIDAS_CALIB_REG);
+	/* select trimpot */
+	calib_bits = cal_enable_bits(dev) | PCIDAS_CALIB_TRIM_SEL;
+	udelay(1);
+	outw(calib_bits, devpriv->pcibar1 + PCIDAS_CALIB_REG);
 
-	write_calibration_bitstream(dev, register_bits, bitstream,
-				    bitstream_length);
+	/* write 10-bit value */
+	write_calibration_bitstream(dev, calib_bits,
+				    ((chan & 0x3) << 8) | val, 10);
+	udelay(1);
 
-	udelay(ad8402_udelay);
+	/* latch value */
 	outw(cal_enable_bits(dev), devpriv->pcibar1 + PCIDAS_CALIB_REG);
-
-	return 0;
 }
 
 static void cb_pcidas_trimpot_write(struct comedi_device *dev,
@@ -677,7 +675,7 @@ static void cb_pcidas_trimpot_write(struct comedi_device *dev,
 		cb_pcidas_trimpot_7376_write(dev, val);
 		break;
 	case AD8402:
-		trimpot_8402_write(dev, chan, val);
+		cb_pcidas_trimpot_8402_write(dev, chan, val);
 		break;
 	default:
 		dev_err(dev->class_dev, "driver bug?\n");
-- 
2.5.1



More information about the devel mailing list