diff options
author | H Hartley Sweeten <hsweeten@visionengravers.com> | 2015-10-12 16:07:09 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-10-13 10:26:19 -0700 |
commit | b93c2862b95d4c4021aeaf6c18b89e11e245ebab (patch) | |
tree | 78f54661b86d818540088d747df555f3ee6d0862 | |
parent | c34f202ba32c1ef10b36b61c1ca236120b8cc4b3 (diff) | |
download | linux-b93c2862b95d4c4021aeaf6c18b89e11e245ebab.tar.bz2 |
staging: comedi: cb_das16_cs: the DAC16/16-AO only has 4 digital I/O
The PC-CARD DAS16/16-AO board only has 4 digital I/O channels. The other
boards supported by this driver have 8. Add the boardinfo to correctly
initialize the subdevice.
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>
-rw-r--r-- | drivers/staging/comedi/drivers/cb_das16_cs.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/staging/comedi/drivers/cb_das16_cs.c b/drivers/staging/comedi/drivers/cb_das16_cs.c index 0769878f082f..45db386331aa 100644 --- a/drivers/staging/comedi/drivers/cb_das16_cs.c +++ b/drivers/staging/comedi/drivers/cb_das16_cs.c @@ -100,6 +100,7 @@ struct das16cs_board { const char *name; int device_id; unsigned int has_ao:1; + unsigned int has_4dio:1; }; static const struct das16cs_board das16cs_boards[] = { @@ -107,6 +108,7 @@ static const struct das16cs_board das16cs_boards[] = { .name = "PC-CARD DAS16/16-AO", .device_id = 0x0039, .has_ao = 1, + .has_4dio = 1, }, { .name = "PCM-DAS16s/16", .device_id = 0x4009, @@ -407,11 +409,11 @@ static int das16cs_auto_attach(struct comedi_device *dev, s->type = COMEDI_SUBD_UNUSED; } + /* Digital I/O subdevice */ s = &dev->subdevices[2]; - /* digital i/o subdevice */ s->type = COMEDI_SUBD_DIO; s->subdev_flags = SDF_READABLE | SDF_WRITABLE; - s->n_chan = 8; + s->n_chan = board->has_4dio ? 4 : 8; s->maxdata = 1; s->range_table = &range_digital; s->insn_bits = das16cs_dio_insn_bits; |