staging: comedi: addi_apci_3501: cleanup apci3501_reset()
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Wed, 23 Jan 2013 19:45:01 +0000 (12:45 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 Jan 2013 20:00:30 +0000 (12:00 -0800)
Rename the CamelCase local variables.

Refactor the code a bit to remove the need for some of the local
variables.

Add a couple defines to the register map to help make the code
more concise.

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>
drivers/staging/comedi/drivers/addi_apci_3501.c

index 906c37a34c37f2ace1a466a76f05da9af5caded7..d687081c80c7a0924625791b6b4385900ba1424f 100644 (file)
@@ -9,6 +9,9 @@
 #define APCI3501_AO_CTRL_BIPOLAR               (1 << 0)
 #define APCI3501_AO_STATUS_READY               (1 << 8)
 #define APCI3501_AO_DATA_REG                   0x04
+#define APCI3501_AO_DATA_CHAN(x)               ((x) << 0)
+#define APCI3501_AO_DATA_VAL(x)                        ((x) << 8)
+#define APCI3501_AO_DATA_BIPOLAR               (1 << 31)
 #define APCI3501_AO_TRIG_SCS_REG               0x08
 #define APCI3501_DO_REG                                0x40
 #define APCI3501_DI_REG                                0x50
@@ -219,28 +222,28 @@ static irqreturn_t apci3501_interrupt(int irq, void *d)
 
 static int apci3501_reset(struct comedi_device *dev)
 {
-       int i_Count = 0, i_temp = 0;
-       unsigned int ul_Command1 = 0, ul_Polarity;
+       unsigned int val;
+       int chan;
        int ret;
 
+       /* Reset all digital outputs to "0" */
        outl(0x0, dev->iobase + APCI3501_DO_REG);
-       outl(1, dev->iobase + APCI3501_AO_CTRL_STATUS_REG);
 
-       ul_Polarity = 0x80000000;
+       /* Default all analog outputs to 0V (bipolar) */
+       outl(APCI3501_AO_CTRL_BIPOLAR,
+            dev->iobase + APCI3501_AO_CTRL_STATUS_REG);
+       val = APCI3501_AO_DATA_BIPOLAR | APCI3501_AO_DATA_VAL(0);
 
-       for (i_Count = 0; i_Count <= 7; i_Count++) {
+       /* Set all analog output channels */
+       for (chan = 0; chan < 8; chan++) {
                ret = apci3501_wait_for_dac(dev);
                if (ret) {
                        dev_warn(dev->class_dev,
                                 "%s: DAC not-ready for channel %i\n",
-                                __func__, i_Count);
+                                __func__, chan);
                } else {
-                       /*  Output the Value on the output channels. */
-                       ul_Command1 =
-                               (unsigned int) ((unsigned int) (i_Count & 0xFF) |
-                               (unsigned int) ((i_temp << 0x8) & 0x7FFFFF00L) |
-                               (unsigned int) (ul_Polarity));
-                       outl(ul_Command1, dev->iobase + APCI3501_AO_DATA_REG);
+                       outl(val | APCI3501_AO_DATA_CHAN(chan),
+                            dev->iobase + APCI3501_AO_DATA_REG);
                }
        }