On 2014-02-28 23:24, H Hartley Sweeten wrote:
To clarify the code, introduce a helper function to read the analog
input data sample from the FIFO and optionally return the channel
that the sample was for. The channel is used to check for dropped
samples.
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/pcl818.c | 35 ++++++++++++++++++++++++---------
1 file changed, 26 insertions(+), 9 deletions(-)
diff --git a/drivers/staging/comedi/drivers/pcl818.c
b/drivers/staging/comedi/drivers/pcl818.c
index aff8792..506a9cc 100644
--- a/drivers/staging/comedi/drivers/pcl818.c
+++ b/drivers/staging/comedi/drivers/pcl818.c
@@ -417,6 +417,21 @@ static void pcl818_ai_setup_next_dma(struct comedi_device
*dev,
devpriv->dma_runs_to_end--;
}
+static unsigned int pcl818_ai_get_fifo_sample(struct comedi_device *dev,
+ struct comedi_subdevice *s,
+ unsigned int *chan)
+{
+ unsigned int val;
+
+ val = inb(dev->iobase + PCL818_FI_DATAHI) << 8;
+ val |= inb(dev->iobase + PCL818_FI_DATALO);
+
+ if (chan)
+ *chan = val & 0xf;
+
+ return (val >> 4) & s->maxdata;
+}
+
As mentioned in my replies to patch 18, I think reading the DATAHI
register advances the FIFO, so you'd have to read DATALO first.
--
-=( Ian Abbott @ MEV Ltd. E-mail: <abbo...@mev.co.uk> )=-
-=( Tel: +44 (0)161 477 1898 FAX: +44 (0)161 718 3587 )=-
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel