staging: comedi: pcl726: remove 'bipolar' from the private data
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Wed, 25 Sep 2013 22:35:26 +0000 (15:35 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 26 Sep 2013 16:32:18 +0000 (09:32 -0700)
These flags are set in the private data during the attach to indicate
if the range for each channel is bipolar or unipolar. Use the helper
function conedi_chan_range_is_bipolar() to determine this by checking
the range_table_list directly.

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

index d1e1e5e1e99669b63248637c5af3957d3484fab9..17a4095be11b02d1439675312bec0e1744c8221f 100644 (file)
@@ -183,8 +183,6 @@ static const struct pcl726_board boardtypes[] = {
 };
 
 struct pcl726_private {
-
-       int bipolar[12];
        const struct comedi_lrange *rangelist[12];
        unsigned int ao_readback[12];
 };
@@ -193,14 +191,15 @@ static int pcl726_ao_insn(struct comedi_device *dev, struct comedi_subdevice *s,
                          struct comedi_insn *insn, unsigned int *data)
 {
        struct pcl726_private *devpriv = dev->private;
+       unsigned int chan = CR_CHAN(insn->chanspec);
+       unsigned int range = CR_RANGE(insn->chanspec);
        int hi, lo;
        int n;
-       int chan = CR_CHAN(insn->chanspec);
 
        for (n = 0; n < insn->n; n++) {
                lo = data[n] & 0xff;
                hi = (data[n] >> 8) & 0xf;
-               if (devpriv->bipolar[chan])
+               if (comedi_chan_range_is_bipolar(s, chan, range))
                        hi ^= 0x8;
                /*
                 * the programming info did not say which order
@@ -279,10 +278,8 @@ static int pcl726_attach(struct comedi_device *dev, struct comedi_devconfig *it)
        if (!devpriv)
                return -ENOMEM;
 
-       for (i = 0; i < 12; i++) {
-               devpriv->bipolar[i] = 0;
+       for (i = 0; i < 12; i++)
                devpriv->rangelist[i] = &range_unknown;
-       }
 
 #ifdef ACL6126_IRQ
        irq = 0;
@@ -339,9 +336,6 @@ static int pcl726_attach(struct comedi_device *dev, struct comedi_devconfig *it)
                        j = 0;
                }
                devpriv->rangelist[i] = board->range_type_list[j];
-               if (devpriv->rangelist[i]->range[0].min ==
-                   -devpriv->rangelist[i]->range[0].max)
-                       devpriv->bipolar[i] = 1;        /* bipolar range */
        }
 
        s = &dev->subdevices[1];