This board has 4 digital outputs not 1. Fix the subdevice init.

The digital output lines are used for the external channel selection
when the expansion mode is enabled. Add a comment about this.

Signed-off-by: H Hartley Sweeten <hswee...@visionengravers.com>
Cc: Ian Abbott <abbo...@mev.co.uk>
Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org>
---
 drivers/staging/comedi/drivers/quatech_daqp_cs.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/quatech_daqp_cs.c 
b/drivers/staging/comedi/drivers/quatech_daqp_cs.c
index 152cb14..a4a5244 100644
--- a/drivers/staging/comedi/drivers/quatech_daqp_cs.c
+++ b/drivers/staging/comedi/drivers/quatech_daqp_cs.c
@@ -748,10 +748,17 @@ static int daqp_auto_attach(struct comedi_device *dev,
        s->maxdata      = 1;
        s->insn_bits    = daqp_di_insn_bits;
 
+       /*
+        * Digital Output subdevice
+        * NOTE: The digital output lines share the same pins on the
+        * interface connector as the four external channel selection
+        * bits. If expansion mode is used the digital outputs do not
+        * work.
+        */
        s = &dev->subdevices[3];
        s->type         = COMEDI_SUBD_DO;
        s->subdev_flags = SDF_WRITABLE;
-       s->n_chan       = 1;
+       s->n_chan       = 4;
        s->maxdata      = 1;
        s->insn_bits    = daqp_do_insn_bits;
 
-- 
2.5.1

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to