staging: comedi: comedi_test: use comedi_handle_events()
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Thu, 18 Sep 2014 18:35:34 +0000 (11:35 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Oct 2014 02:29:24 +0000 (10:29 +0800)
Use comedi_handle_events() to automatically (*cancel) the async command
for an end-of-acquisition or if an error/overflow occurs.

For aesthetics, add a local variable for the comedi_subdevice pointer.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/comedi_test.c

index 00c03df..8845075 100644 (file)
@@ -164,7 +164,8 @@ static void waveform_ai_interrupt(unsigned long arg)
 {
        struct comedi_device *dev = (struct comedi_device *)arg;
        struct waveform_private *devpriv = dev->private;
-       struct comedi_async *async = dev->read_subdev->async;
+       struct comedi_subdevice *s = dev->read_subdev;
+       struct comedi_async *async = s->async;
        struct comedi_cmd *cmd = &async->cmd;
        unsigned int i, j;
        /* all times in microsec */
@@ -203,7 +204,7 @@ static void waveform_ai_interrupt(unsigned long arg)
                                               devpriv->usec_current +
                                                   i * devpriv->scan_period +
                                                   j * devpriv->convert_period);
-                       cfc_write_to_buffer(dev->read_subdev, sample);
+                       cfc_write_to_buffer(s, sample);
                }
        }
 
@@ -216,7 +217,7 @@ static void waveform_ai_interrupt(unsigned long arg)
        else
                mod_timer(&devpriv->timer, jiffies + 1);
 
-       comedi_event(dev, dev->read_subdev);
+       comedi_handle_events(dev, s);
 }
 
 static int waveform_ai_cmdtest(struct comedi_device *dev,