OSDN Git Service

staging: comedi: dt3000: use comedi_buf_write_samples()
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Wed, 22 Oct 2014 22:36:55 +0000 (15:36 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 29 Oct 2014 08:03:13 +0000 (16:03 +0800)
For aesthetics, use comedi_buf_write_samples() to add the sample to the
async buffer.

The core will set the COMEDi_CB_BLOCK event when data is written to the
async buffer. Remove the unnecessary event from the driver.

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/dt3000.c

index 6544f44..c2058ba 100644 (file)
@@ -315,7 +315,7 @@ static void dt3k_ai_empty_fifo(struct comedi_device *dev,
 
        for (i = 0; i < count; i++) {
                data = readw(dev->mmio + DPR_ADC_buffer + rear);
-               comedi_buf_put(s, data);
+               comedi_buf_write_samples(s, &data, 1);
                rear++;
                if (rear >= AI_FIFO_DEPTH)
                        rear = 0;
@@ -351,10 +351,8 @@ static irqreturn_t dt3k_interrupt(int irq, void *d)
 
        status = readw(dev->mmio + DPR_Intr_Flag);
 
-       if (status & DT3000_ADFULL) {
+       if (status & DT3000_ADFULL)
                dt3k_ai_empty_fifo(dev, s);
-               s->async->events |= COMEDI_CB_BLOCK;
-       }
 
        if (status & (DT3000_ADSWERR | DT3000_ADHWERR))
                s->async->events |= COMEDI_CB_ERROR | COMEDI_CB_EOA;