staging: comedi: ni_pcidio: use comedi_buf_write_samples()
Use comedi_buf_write_samples() to add the sample to the async buffer. The 32-bit sample size is automatically determined due to the subddev_flag SDF_LSAMPL. The async event COMEDI_CB_BLOCK will be automatically set by the core. Remove the unnecessary event in the driver. This driver also has the SDF_PACKED subdev_flag set so the core will automatically set the COMEDI_CB_EOS event after adding the sample. 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>
This commit is contained in:
parent
2a07616cd9
commit
dbe81a93f4
@ -384,11 +384,7 @@ static irqreturn_t nidio_interrupt(int irq, void *d)
|
||||
struct comedi_subdevice *s = dev->read_subdev;
|
||||
struct comedi_async *async = s->async;
|
||||
struct mite_struct *mite = devpriv->mite;
|
||||
|
||||
/* int i, j; */
|
||||
unsigned int auxdata = 0;
|
||||
unsigned short data1 = 0;
|
||||
unsigned short data2 = 0;
|
||||
unsigned int auxdata;
|
||||
int flags;
|
||||
int status;
|
||||
int work = 0;
|
||||
@ -451,13 +447,9 @@ static irqreturn_t nidio_interrupt(int irq, void *d)
|
||||
goto out;
|
||||
}
|
||||
auxdata = readl(dev->mmio + Group_1_FIFO);
|
||||
data1 = auxdata & 0xffff;
|
||||
data2 = (auxdata & 0xffff0000) >> 16;
|
||||
comedi_buf_put(s, data1);
|
||||
comedi_buf_put(s, data2);
|
||||
comedi_buf_write_samples(s, &auxdata, 1);
|
||||
flags = readb(dev->mmio + Group_1_Flags);
|
||||
}
|
||||
async->events |= COMEDI_CB_BLOCK;
|
||||
}
|
||||
|
||||
if (flags & CountExpired) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user