summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH Hartley Sweeten <hsweeten@visionengravers.com>2013-04-08 18:20:41 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-04-09 16:29:24 -0700
commitc7c1161dfd98c00a1fa4691057b7418b8c26a1f2 (patch)
tree2921ed46c1a4fe6c325b8b4b82b8b2107c4583fd
parent929b343297f3f7419a67dff4e8f4110f919682f8 (diff)
staging: comedi: rti800: tidy up ai two's complement support
The analog input on this board can return data as either two's complement or straight binary data. The format is selected by a jumper of the board and enabled by the user as option[4] when attaching to the board. Replace the adc_coding enum with a simple bool to indicate that the data is returned in two's complement form. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/staging/comedi/drivers/rti800.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/staging/comedi/drivers/rti800.c b/drivers/staging/comedi/drivers/rti800.c
index 917543a3effe..d788c19e7fb1 100644
--- a/drivers/staging/comedi/drivers/rti800.c
+++ b/drivers/staging/comedi/drivers/rti800.c
@@ -152,9 +152,7 @@ static const struct rti800_board rti800_boardtypes[] = {
};
struct rti800_private {
- enum {
- adc_2comp, adc_straight
- } adc_coding;
+ bool adc_2comp;
bool dac_2comp[2];
const struct comedi_lrange *ao_range_type_list[2];
unsigned int ao_readback[2];
@@ -221,7 +219,7 @@ static int rti800_ai_insn_read(struct comedi_device *dev,
data[i] = inb(dev->iobase + RTI800_ADCLO);
data[i] |= (0xf & inb(dev->iobase + RTI800_ADCHI)) << 8;
- if (devpriv->adc_coding == adc_2comp)
+ if (devpriv->adc_2comp)
data[i] ^= 0x800;
}
@@ -338,7 +336,7 @@ static int rti800_attach(struct comedi_device *dev, struct comedi_devconfig *it)
return -ENOMEM;
dev->private = devpriv;
- devpriv->adc_coding = it->options[4];
+ devpriv->adc_2comp = (it->options[4] == 0);
devpriv->dac_2comp[0] = (it->options[6] == 0);
devpriv->dac_2comp[1] = (it->options[8] == 0);
/* invalid, forces the MUXGAIN register to be set when first used */