Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dbe81a93 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman
Browse files

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: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: default avatarIan Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 2a07616c
Loading
Loading
Loading
Loading
+2 −10
Original line number Diff line number Diff line
@@ -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) {