staging: comedi: mf6x4: analog output data does not need extra masking

The comedi core validates that all the data values are <= s->maxdata
before calling the (*insn_write) function. The extra masking is not
needed. Remove it.

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>
This commit is contained in:
H Hartley Sweeten 2014-08-25 16:04:48 -07:00 committed by Greg Kroah-Hartman
parent f7b20f7289
commit 496e7cd9b8

View file

@ -58,7 +58,6 @@
#define MF6X4_DA7_R 0x2e #define MF6X4_DA7_R 0x2e
/* Map DAC cahnnel id to real HW-dependent offset value */ /* Map DAC cahnnel id to real HW-dependent offset value */
#define MF6X4_DAC_R(x) (0x20 + ((x) * 2)) #define MF6X4_DAC_R(x) (0x20 + ((x) * 2))
#define MF6X4_DA_M 0x3fff
/* BAR2 registers */ /* BAR2 registers */
#define MF634_GPIOC_R 0x68 #define MF634_GPIOC_R 0x68
@ -182,6 +181,7 @@ static int mf6x4_ao_insn_write(struct comedi_device *dev,
{ {
struct mf6x4_private *devpriv = dev->private; struct mf6x4_private *devpriv = dev->private;
unsigned int chan = CR_CHAN(insn->chanspec); unsigned int chan = CR_CHAN(insn->chanspec);
unsigned int val = devpriv->ao_readback[chan];
uint32_t gpioc; uint32_t gpioc;
int i; int i;
@ -191,10 +191,10 @@ static int mf6x4_ao_insn_write(struct comedi_device *dev,
devpriv->gpioc_R); devpriv->gpioc_R);
for (i = 0; i < insn->n; i++) { for (i = 0; i < insn->n; i++) {
iowrite16(data[i] & MF6X4_DA_M, dev->mmio + MF6X4_DAC_R(chan)); val = data[i];
iowrite16(val, dev->mmio + MF6X4_DAC_R(chan));
devpriv->ao_readback[chan] = data[i];
} }
devpriv->ao_readback[chan] = val;
return insn->n; return insn->n;
} }