diff options
Diffstat (limited to 'drivers/staging/comedi')
-rw-r--r-- | drivers/staging/comedi/drivers/ni_mio_common.c | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/drivers/staging/comedi/drivers/ni_mio_common.c b/drivers/staging/comedi/drivers/ni_mio_common.c index 9897f32..e5463c9 100644 --- a/drivers/staging/comedi/drivers/ni_mio_common.c +++ b/drivers/staging/comedi/drivers/ni_mio_common.c @@ -211,7 +211,6 @@ static int ni_ai_inttrig(struct comedi_device *dev, struct comedi_subdevice *s, unsigned int trignum); static void ni_load_channelgain_list(struct comedi_device *dev, unsigned int n_chan, unsigned int *list); -static void shutdown_ai_command(struct comedi_device *dev); static void handle_gpct_interrupt(struct comedi_device *dev, unsigned short counter_index); @@ -822,8 +821,22 @@ static int ni_ao_wait_for_dma_load(struct comedi_device *dev) } return 0; } - #endif /* PCIDMA */ + +static void shutdown_ai_command(struct comedi_device *dev) +{ + struct comedi_subdevice *s = &dev->subdevices[NI_AI_SUBDEV]; + +#ifdef PCIDMA + ni_ai_drain_dma(dev); +#endif + ni_handle_fifo_dregs(dev); + get_last_sample_611x(dev); + get_last_sample_6143(dev); + + s->async->events |= COMEDI_CB_EOA; +} + static void ni_handle_eos(struct comedi_device *dev, struct comedi_subdevice *s) { struct ni_private *devpriv = dev->private; @@ -849,20 +862,6 @@ static void ni_handle_eos(struct comedi_device *dev, struct comedi_subdevice *s) shutdown_ai_command(dev); } -static void shutdown_ai_command(struct comedi_device *dev) -{ - struct comedi_subdevice *s = &dev->subdevices[NI_AI_SUBDEV]; - -#ifdef PCIDMA - ni_ai_drain_dma(dev); -#endif - ni_handle_fifo_dregs(dev); - get_last_sample_611x(dev); - get_last_sample_6143(dev); - - s->async->events |= COMEDI_CB_EOA; -} - static void handle_gpct_interrupt(struct comedi_device *dev, unsigned short counter_index) { |