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:
parent
f7b20f7289
commit
496e7cd9b8
1 changed files with 4 additions and 4 deletions
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue