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

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

staging: comedi: pcl818: absorb pcl818_ai_mode13dma_int()



Absorb this function into pcl818_ai_cmd_mode() and simplify the code.

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 5af366ff
Loading
Loading
Loading
Loading
+16 −37
Original line number Diff line number Diff line
@@ -677,22 +677,6 @@ static irqreturn_t pcl818_interrupt(int irq, void *d)
	return IRQ_HANDLED;
}

static void pcl818_ai_mode13dma_int(int mode, struct comedi_device *dev,
				    struct comedi_subdevice *s)
{
	unsigned int ctrl = 0;

	pcl818_ai_setup_dma(dev, s);

	ctrl |= PCL818_CTRL_INTE | PCL818_CTRL_IRQ(dev->irq) | PCL818_CTRL_DMAE;
	if (mode == 1)
		ctrl |= PCL818_CTRL_PACER_TRIG;
	else
		ctrl |= PCL818_CTRL_EXT_TRIG;

	outb(ctrl, dev->iobase + PCL818_CTRL_REG);
}

static int pcl818_ai_cmd_mode(int mode, struct comedi_device *dev,
			      struct comedi_subdevice *s)
{
@@ -722,28 +706,23 @@ static int pcl818_ai_cmd_mode(int mode, struct comedi_device *dev,

	outb(0, dev->iobase + PCL818_CNTENABLE);	/* enable pacer */

	switch (devpriv->dma) {
	case 1:		/*  DMA */
	case 3:
		pcl818_ai_mode13dma_int(mode, dev, s);
		break;
	case 0:
		if (!devpriv->usefifo) {
			ctrl |= PCL818_CTRL_INTE | PCL818_CTRL_IRQ(dev->irq);
	if (mode == 1)
		ctrl |= PCL818_CTRL_PACER_TRIG;
	else
		ctrl |= PCL818_CTRL_EXT_TRIG;
		} else {

	if (devpriv->dma) {
		pcl818_ai_setup_dma(dev, s);

		ctrl |= PCL818_CTRL_INTE | PCL818_CTRL_IRQ(dev->irq) |
			PCL818_CTRL_DMAE;
	} else if (devpriv->usefifo) {
		/* enable FIFO */
		outb(1, dev->iobase + PCL818_FI_ENABLE);
			if (mode == 1)
				ctrl |= PCL818_CTRL_PACER_TRIG;
			else
				ctrl |= PCL818_CTRL_EXT_TRIG;
	} else {
		ctrl |= PCL818_CTRL_INTE | PCL818_CTRL_IRQ(dev->irq);
	}
	outb(ctrl, dev->iobase + PCL818_CTRL_REG);
	}

	pcl818_start_pacer(dev, mode == 1);