[PATCH v2 13/25] staging: comedi: hwdrv_apci3120: use comedi_handle_events()

H Hartley Sweeten hsweeten at visionengravers.com
Thu Sep 18 18:35:30 UTC 2014


Use comedi_handle_events() to automatically (*cancel) the async command
for an end-of-acquisition or if an error/overflow occurs.

Signed-off-by: H Hartley Sweeten <hsweeten at visionengravers.com>
Cc: Ian Abbott <abbotti at mev.co.uk>
Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
---
 drivers/staging/comedi/drivers/addi-data/hwdrv_apci3120.c | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3120.c b/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3120.c
index 2950815..db6e142 100644
--- a/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3120.c
+++ b/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3120.c
@@ -1329,15 +1329,14 @@ static void apci3120_interrupt_dma(int irq, void *d)
 
 		if (!(cmd->flags & CMDF_WAKE_EOS)) {
 			s->async->events |= COMEDI_CB_EOS;
-			comedi_event(dev, s);
+			comedi_handle_events(dev, s);
 		}
 	}
 	if (cmd->stop_src == TRIG_COUNT)
 		if (devpriv->ui_AiActualScan >= cmd->stop_arg) {
 			/*  all data sampled */
-			apci3120_cancel(dev, s);
 			s->async->events |= COMEDI_CB_EOA;
-			comedi_event(dev, s);
+			comedi_handle_events(dev, s);
 			return;
 		}
 
@@ -1416,7 +1415,7 @@ static int apci3120_interrupt_handle_eos(struct comedi_device *dev)
 	if (err == 0)
 		s->async->events |= COMEDI_CB_OVERFLOW;
 
-	comedi_event(dev, s);
+	comedi_handle_events(dev, s);
 
 	return 0;
 }
@@ -1539,12 +1538,8 @@ static void apci3120_interrupt(int irq, void *d)
 			outw(devpriv->us_OutputRegister,
 				dev->iobase + APCI3120_WR_ADDRESS);
 
-			/* stop timer 0 and timer 1 */
-			apci3120_cancel(dev, s);
-
-			/* UPDATE-0.7.57->0.7.68comedi_done(dev,s); */
 			s->async->events |= COMEDI_CB_EOA;
-			comedi_event(dev, s);
+			comedi_handle_events(dev, s);
 
 			break;
 
-- 
2.0.3



More information about the devel mailing list