Use the comedi_offset_munge() helper to convert the hardware two's
complement values to the offset binary format expected by comedi.

Signed-off-by: H Hartley Sweeten <hswee...@visionengravers.com>
Cc: Ian Abbott <abbo...@mev.co.uk>
Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org>
---
 drivers/staging/comedi/drivers/usbdux.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/drivers/usbdux.c 
b/drivers/staging/comedi/drivers/usbdux.c
index eea41e8..39710f2 100644
--- a/drivers/staging/comedi/drivers/usbdux.c
+++ b/drivers/staging/comedi/drivers/usbdux.c
@@ -266,7 +266,7 @@ static void usbduxsub_ai_handle_urb(struct comedi_device 
*dev,
 
                        /* bipolar data is two's-complement */
                        if (comedi_range_is_bipolar(s, range))
-                               val ^= ((s->maxdata + 1) >> 1);
+                               val = comedi_offset_munge(s, val);
 
                        /* transfer data */
                        if (!comedi_buf_write_samples(s, &val, 1))
@@ -776,7 +776,7 @@ static int usbdux_ai_insn_read(struct comedi_device *dev,
 
                /* bipolar data is two's-complement */
                if (comedi_range_is_bipolar(s, range))
-                       val ^= ((s->maxdata + 1) >> 1);
+                       val = comedi_offset_munge(s, val);
 
                data[i] = val;
        }
-- 
2.4.3

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to