diff options
author | H Hartley Sweeten <hsweeten@visionengravers.com> | 2013-02-04 23:43:56 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-02-05 19:18:58 (GMT) |
commit | 62100fefbc4f7f45149df1f537de17b4acf01391 (patch) | |
tree | c870c8f5ac5aea48c99998e723d2e2db8bae3d10 /drivers/staging | |
parent | 491cc0b042c2c2e7db0b2013e802f1d0124d1611 (diff) | |
download | linux-fsl-qoriq-62100fefbc4f7f45149df1f537de17b4acf01391.tar.xz |
staging: comedi: quatech_daqp_cs: use (*insn_bits) for digital inputs
Change the subdevice operation used to read the digital inputs from
a (*insn_read) to a (*insn_bits) function. The (*insn_read) functions
are expected to read 'insn->n' number of samples. The (*insn_bits)
functions just read a single sample (insn->n = 1). Change the return
from '1' to 'insn->n' to clarify what the return is.
Also, set the 'maxdata' for the subdevice. For digital io this value
should be '1' (digital io can only be 1 or 0).
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/staging')
-rw-r--r-- | drivers/staging/comedi/drivers/quatech_daqp_cs.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/staging/comedi/drivers/quatech_daqp_cs.c b/drivers/staging/comedi/drivers/quatech_daqp_cs.c index 7046ebd..dbb8593 100644 --- a/drivers/staging/comedi/drivers/quatech_daqp_cs.c +++ b/drivers/staging/comedi/drivers/quatech_daqp_cs.c @@ -671,11 +671,10 @@ static int daqp_ao_insn_write(struct comedi_device *dev, return 1; } -/* Digital input routine */ - -static int daqp_di_insn_read(struct comedi_device *dev, +static int daqp_di_insn_bits(struct comedi_device *dev, struct comedi_subdevice *s, - struct comedi_insn *insn, unsigned int *data) + struct comedi_insn *insn, + unsigned int *data) { struct daqp_private *devpriv = dev->private; @@ -684,7 +683,7 @@ static int daqp_di_insn_read(struct comedi_device *dev, data[0] = inb(dev->iobase + DAQP_DIGITAL_IO); - return 1; + return insn->n; } /* Digital output routine */ @@ -758,7 +757,8 @@ static int daqp_auto_attach(struct comedi_device *dev, s->type = COMEDI_SUBD_DI; s->subdev_flags = SDF_READABLE; s->n_chan = 1; - s->insn_read = daqp_di_insn_read; + s->maxdata = 1; + s->insn_bits = daqp_di_insn_bits; s = &dev->subdevices[3]; s->type = COMEDI_SUBD_DO; |