From: H Hartley Sweeten Date: Sat, 8 Mar 2014 00:31:30 +0000 (-0700) Subject: staging: comedi: das16m1: use cfc_handle_events() X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=6278c5d8929f9dbf51017dad9e432ff7321501b9;p=openwrt%2Fstaging%2Fblogic.git staging: comedi: das16m1: use cfc_handle_events() Use the comedi_fc helper function to automatically call the subdevice (*cancel) function when needed and call comedi_event(). In the Kconfig, COMEDI_DAS16M1 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/das16m1.c b/drivers/staging/comedi/drivers/das16m1.c index 0a90ab341758..70aecbcb7c6d 100644 --- a/drivers/staging/comedi/drivers/das16m1.c +++ b/drivers/staging/comedi/drivers/das16m1.c @@ -449,8 +449,8 @@ static void das16m1_handler(struct comedi_device *dev, unsigned int status) devpriv->adc_count += num_samples; if (cmd->stop_src == TRIG_COUNT) { - if (devpriv->adc_count >= cmd->stop_arg * cmd->chanlist_len) { /* end of acquisition */ - das16m1_cancel(dev, s); + if (devpriv->adc_count >= cmd->stop_arg * cmd->chanlist_len) { + /* end of acquisition */ async->events |= COMEDI_CB_EOA; } } @@ -458,13 +458,11 @@ static void das16m1_handler(struct comedi_device *dev, unsigned int status) /* this probably won't catch overruns since the card doesn't generate * overrun interrupts, but we might as well try */ if (status & OVRUN) { - das16m1_cancel(dev, s); async->events |= COMEDI_CB_EOA | COMEDI_CB_ERROR; comedi_error(dev, "fifo overflow"); } - comedi_event(dev, s); - + cfc_handle_events(dev, s); } static int das16m1_poll(struct comedi_device *dev, struct comedi_subdevice *s)