staging: comedi: das1800: use comedi_offset_munge() for analog output
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Fri, 8 Apr 2016 19:41:37 +0000 (12:41 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 29 Apr 2016 05:16:10 +0000 (22:16 -0700)
The analog outputs expect 2's complement data. For aesthetics, use
the helper function to handle the munging instead of depending on
the boardinfo 'resolution'.

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/das1800.c

index 6795f3e03d1a6d846d76c800a909acb87729f0a6..f870824ecf19ebc8c6eccd7f08187b331db76769 100644 (file)
@@ -1132,8 +1132,7 @@ static int das1800_ao_insn_write(struct comedi_device *dev,
        unsigned short output;
        unsigned long irq_flags;
 
-       /*   card expects two's complement data */
-       output = data[0] - (1 << (board->resolution - 1));
+       output = comedi_offset_munge(s, data[0]);
        /*  if the write is to the 'update' channel, we need to remember its value */
        if (chan == update_chan)
                devpriv->ao_update_bits = output;