OSDN Git Service

staging: comedi: usbduxfast: document strange ai maxdata
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Mon, 24 Aug 2015 17:14:03 +0000 (10:14 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 13 Sep 2015 01:24:25 +0000 (18:24 -0700)
The subdevice 'maxdata' is typically a mask of the valid bits that can
be returned by a subdevice, (1 << bits) - 1. The analog inputs of this
device have a resolution of 12-bits so the 'maxdata' should be 0x0fff.
But, this hardware can produce a value of 0x1000 indicating an overflow
from the ADC. The comedilib library's comedi_to_phys() function will
then return NAN when this value is read from the hardware.

Add a comment to clarify the strage 'maxdata' value.

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

index 60f1c5e..9e846b4 100644 (file)
@@ -865,7 +865,7 @@ static int usbduxfast_attach_common(struct comedi_device *dev)
        s->do_cmdtest   = usbduxfast_ai_cmdtest;
        s->do_cmd       = usbduxfast_ai_cmd;
        s->cancel       = usbduxfast_ai_cancel;
-       s->maxdata      = 0x1000;
+       s->maxdata      = 0x1000;       /* 12-bit + 1 overflow bit */
        s->range_table  = &range_usbduxfast_ai_range;
 
        up(&devpriv->sem);