summaryrefslogtreecommitdiff
path: root/drivers/staging/comedi/drivers/pcl726.c
diff options
context:
space:
mode:
authorH Hartley Sweeten <hsweeten@visionengravers.com>2013-09-25 15:35:26 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-09-26 09:32:18 -0700
commitb4f58e1f68ae9192d6c3a7dffa09ac2f2ec41fe0 (patch)
treee20473b4691609bc91bdb8ec2a538d6952ab88db /drivers/staging/comedi/drivers/pcl726.c
parent4916211615e21b1ae80632e57b6e0c8434b126fe (diff)
staging: comedi: pcl726: remove 'bipolar' from the private data
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>
Diffstat (limited to 'drivers/staging/comedi/drivers/pcl726.c')
-rw-r--r--drivers/staging/comedi/drivers/pcl726.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/drivers/staging/comedi/drivers/pcl726.c b/drivers/staging/comedi/drivers/pcl726.c
index d1e1e5e1e996..17a4095be11b 100644
--- a/drivers/staging/comedi/drivers/pcl726.c
+++ b/drivers/staging/comedi/drivers/pcl726.c
@@ -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];