staging: comedi: cb_pcimdas: provide analog output range table
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Wed, 25 Feb 2015 23:28:41 +0000 (16:28 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 2 Mar 2015 02:56:30 +0000 (18:56 -0800)
The analog output range is not programmable. The DAC ranges are
jumper-settable on the board. For aesthetics, provide a range table
for the user with all possible ranges.

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

index b0cc4f59789d146ebcacbc643284dd6dff856e57..94da819f650ab21c335be129d838de61a131f4c9 100644 (file)
@@ -136,6 +136,19 @@ static const struct comedi_lrange cb_pcimdas_ai_uni_range = {
        }
 };
 
+/*
+ * The Analog Output range is not programmable. The DAC ranges are
+ * jumper-settable on the board. The settings are not software-readable.
+ */
+static const struct comedi_lrange cb_pcimdas_ao_range = {
+       4, {
+               BIP_RANGE(10),
+               BIP_RANGE(5),
+               UNI_RANGE(10),
+               UNI_RANGE(5)
+       }
+};
+
 /*
  * this structure is for data unique to this hardware driver.  If
  * several hardware drivers keep similar information in this structure,
@@ -306,8 +319,7 @@ static int cb_pcimdas_auto_attach(struct comedi_device *dev,
        s->subdev_flags = SDF_WRITABLE;
        s->n_chan = 2;
        s->maxdata = 0xfff;
-       /* ranges are hardware settable, but not software readable. */
-       s->range_table = &range_unknown;
+       s->range_table = &cb_pcimdas_ao_range;
        s->insn_write = cb_pcimdas_ao_insn_write;
 
        ret = comedi_alloc_subdev_readback(s);