summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorH Hartley Sweeten <hartleys@visionengravers.com>2012-10-25 22:10:52 (GMT)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-10-26 16:20:03 (GMT)
commit310239e70aab8d958088948449b7e05d6de64b9c (patch)
tree572f038e3856b67d8f3ec328ff0450dbaf8b241d /drivers
parentfa8eec60259e10a1307f8ff8cdfc6f6db898d4aa (diff)
downloadlinux-fsl-qoriq-310239e70aab8d958088948449b7e05d6de64b9c.tar.xz
staging: comedi: me_daq: simplify analog output boardinfo
The boards supported by this driver either have analog outputs or don't have them. Add a new boardinfo value, 'has_ao', to indicate this. The boards that have analog outputs always have 4, 12-bit channels. Remove the unnecessary boardinfo and just open-code the values in the subdevice initialization. The boards with analog outputs also share the same output range capabilities. Rename the comedi_lrange to make it common for all board types. 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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/staging/comedi/drivers/me_daq.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/drivers/staging/comedi/drivers/me_daq.c b/drivers/staging/comedi/drivers/me_daq.c
index 686a1c4..ceb5b82 100644
--- a/drivers/staging/comedi/drivers/me_daq.c
+++ b/drivers/staging/comedi/drivers/me_daq.c
@@ -139,7 +139,7 @@ static const struct comedi_lrange me_ai_range = {
}
};
-static const struct comedi_lrange me2600_ao_range = {
+static const struct comedi_lrange me_ao_range = {
3, {
BIP_RANGE(10),
BIP_RANGE(5),
@@ -150,18 +150,14 @@ static const struct comedi_lrange me2600_ao_range = {
struct me_board {
const char *name;
int device_id;
- int ao_chans;
- int ao_bits;
- const struct comedi_lrange *ao_range;
+ int has_ao;
};
static const struct me_board me_boards[] = {
{
.name = "me-2600i",
.device_id = ME2600_DEVICE_ID,
- .ao_chans = 4,
- .ao_bits = 12,
- .ao_range = &me2600_ao_range,
+ .has_ao = 1,
}, {
.name = "me-2000i",
.device_id = ME2000_DEVICE_ID,
@@ -631,13 +627,13 @@ static int me_attach_pci(struct comedi_device *dev, struct pci_dev *pcidev)
s->insn_read = me_ai_insn_read;
s = &dev->subdevices[1];
- if (board->ao_chans) {
+ if (board->has_ao) {
s->type = COMEDI_SUBD_AO;
s->subdev_flags = SDF_WRITEABLE | SDF_COMMON;
- s->n_chan = board->ao_chans;
- s->maxdata = (1 << board->ao_bits) - 1;
- s->len_chanlist = board->ao_chans;
- s->range_table = board->ao_range;
+ s->n_chan = 4;
+ s->maxdata = 0x0fff;
+ s->len_chanlist = 4;
+ s->range_table = &me_ao_range;
s->insn_read = me_ao_insn_read;
s->insn_write = me_ao_insn_write;
} else {