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

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

staging: comedi: ni_labpc: cleanup trigger setting in labpc_ai_cmd()



The (*do_cmdtest) already validated the cmd sources so the default
cases in the switch() statements can never happen.

Preclear to trigger bits and change the switch() statements to simple
if() tests to set the bits.

Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 83d75eff
Loading
Loading
Loading
Loading
+9 −26
Original line number Diff line number Diff line
@@ -1054,38 +1054,21 @@ static int labpc_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)

	/*  startup acquisition */

	/*  cmd2 reg */
	/*  use 2 cascaded counters for pacing */
	spin_lock_irqsave(&dev->spinlock, flags);

	/* use 2 cascaded counters for pacing */
	devpriv->cmd2 |= CMD2_TBSEL;
	switch (cmd->start_src) {
	case TRIG_EXT:

	devpriv->cmd2 &= ~(CMD2_SWTRIG | CMD2_HWTRIG | CMD2_PRETRIG);
	if (cmd->start_src == TRIG_EXT)
		devpriv->cmd2 |= CMD2_HWTRIG;
		devpriv->cmd2 &= ~(CMD2_PRETRIG | CMD2_SWTRIG);
		break;
	case TRIG_NOW:
	else
		devpriv->cmd2 |= CMD2_SWTRIG;
		devpriv->cmd2 &= ~(CMD2_PRETRIG | CMD2_HWTRIG);
		break;
	default:
		comedi_error(dev, "bug with start_src");
		spin_unlock_irqrestore(&dev->spinlock, flags);
		return -1;
		break;
	}
	switch (cmd->stop_src) {
	case TRIG_EXT:
	if (cmd->stop_src == TRIG_EXT)
		devpriv->cmd2 |= (CMD2_HWTRIG | CMD2_PRETRIG);
		break;
	case TRIG_COUNT:
	case TRIG_NONE:
		break;
	default:
		comedi_error(dev, "bug with stop_src");
		spin_unlock_irqrestore(&dev->spinlock, flags);
		return -1;
	}

	devpriv->write_byte(devpriv->cmd2, dev->iobase + CMD2_REG);

	spin_unlock_irqrestore(&dev->spinlock, flags);

	return 0;