From: H Hartley Sweeten Date: Sat, 8 Mar 2014 00:31:31 +0000 (-0700) Subject: staging: comedi: das800: use cfc_handle_events() X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=f382898fabfa77dda6d77e8ad81fd7cc8edd0cee;p=deliverable%2Flinux.git staging: comedi: das800: use cfc_handle_events() Use the comedi_fc helper function to automatically call the subdevice (*cancel) function when needed and call comedi_event(). Also, remove the clearing of the event, comedi_event() does that. In the Kconfig, COMEDI_DAS800 already selects COMEDI_FC. Signed-off-by: H Hartley Sweeten Reviewed-by: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/comedi/drivers/das800.c b/drivers/staging/comedi/drivers/das800.c index 8c15929811b6..a4fb3d64420c 100644 --- a/drivers/staging/comedi/drivers/das800.c +++ b/drivers/staging/comedi/drivers/das800.c @@ -521,10 +521,8 @@ static irqreturn_t das800_interrupt(int irq, void *d) if (fifo_overflow) { spin_unlock_irqrestore(&dev->spinlock, irq_flags); - das800_cancel(dev, s); async->events |= COMEDI_CB_ERROR | COMEDI_CB_EOA; - comedi_event(dev, s); - async->events = 0; + cfc_handle_events(dev, s); return IRQ_HANDLED; } @@ -540,8 +538,7 @@ static irqreturn_t das800_interrupt(int irq, void *d) das800_disable(dev); async->events |= COMEDI_CB_EOA; } - comedi_event(dev, s); - async->events = 0; + cfc_handle_events(dev, s); return IRQ_HANDLED; }