OSDN Git Service

staging: comedi: me_daq: tidy up dac data registers
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Wed, 7 Oct 2015 00:23:41 +0000 (17:23 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 13 Oct 2015 05:56:26 +0000 (22:56 -0700)
For aesthetics, use a macro that takes the analog output channel
and returns the correct offset for the data register.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/me_daq.c

index 6261090..6b3abe3 100644 (file)
 #define   ME_DAC_CTRL_GAIN(x)          BIT(11 - ((x) & 0x3))
 #define   ME_DAC_CTRL_MASK(x)          (ME_DAC_CTRL_BIPOLAR(x) |       \
                                         ME_DAC_CTRL_GAIN(x))
-#define ME_DAC_DATA_A                  0x0014  /* - | W */
-#define ME_DAC_DATA_B                  0x0016  /* - | W */
-#define ME_DAC_DATA_C                  0x0018  /* - | W */
-#define ME_DAC_DATA_D                  0x001A  /* - | W */
+#define ME_AO_DATA_REG(x)              (0x14 + ((x) * 2))      /* - | W */
 #define ME_COUNTER_ENDDATA_A           0x001C  /* - | W */
 #define ME_COUNTER_ENDDATA_B           0x001E  /* - | W */
 #define ME_COUNTER_STARTDATA_A         0x0020  /* - | W */
@@ -332,7 +329,7 @@ static int me_ao_insn_write(struct comedi_device *dev,
        for (i = 0; i < insn->n; i++) {
                val = data[i];
 
-               writew(val, dev->mmio + ME_DAC_DATA_A + (chan << 1));
+               writew(val, dev->mmio + ME_AO_DATA_REG(chan));
        }
        s->readback[chan] = val;