From: H Hartley Sweeten Date: Sat, 8 Mar 2014 00:31:39 +0000 (-0700) Subject: staging: comedi: pcl816: use cfc_handle_events() X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=61c3393f9374ae56108db0f6b60d3bd56780fe80;p=deliverable%2Flinux.git staging: comedi: pcl816: use cfc_handle_events() Use the comedi_fc helper function to automatically call the subdevice (*cancel) function when needed and call comedi_event(). Update the Kconfig so that COMEDI_PCL816 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/Kconfig b/drivers/staging/comedi/Kconfig index 627c67b092b5..df7010b26d65 100644 --- a/drivers/staging/comedi/Kconfig +++ b/drivers/staging/comedi/Kconfig @@ -189,6 +189,7 @@ config COMEDI_PCL812 config COMEDI_PCL816 tristate "Advantech PCL-814 and PCL-816 ISA card support" depends on VIRT_TO_BUS && ISA_DMA_API + select COMEDI_FC ---help--- Enable support for Advantech PCL-814 and PCL-816 ISA cards diff --git a/drivers/staging/comedi/drivers/pcl816.c b/drivers/staging/comedi/drivers/pcl816.c index 6386ef7a0042..6f276f23fabe 100644 --- a/drivers/staging/comedi/drivers/pcl816.c +++ b/drivers/staging/comedi/drivers/pcl816.c @@ -307,7 +307,6 @@ static bool pcl816_ai_next_chan(struct comedi_device *dev, if (cmd->stop_src == TRIG_COUNT && devpriv->ai_act_scan >= cmd->stop_arg) { /* all data sampled */ - s->cancel(dev, s); s->async->events |= COMEDI_CB_EOA; return false; } @@ -362,7 +361,7 @@ static irqreturn_t pcl816_interrupt(int irq, void *d) pcl816_ai_clear_eoc(dev); - comedi_event(dev, s); + cfc_handle_events(dev, s); return IRQ_HANDLED; } @@ -520,7 +519,7 @@ static int pcl816_ai_poll(struct comedi_device *dev, struct comedi_subdevice *s) devpriv->ai_poll_ptr = top1; /* new buffer position */ spin_unlock_irqrestore(&dev->spinlock, flags); - comedi_event(dev, s); + cfc_handle_events(dev, s); return s->async->buf_write_count - s->async->buf_read_count; }