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

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

staging: comedi: ni_mio_common: tidy up AO scan begin



The (*do_cmdtest) validates that the cmd->scan_begin_src will only be
TRIG_TIMER or TRIG_EXT. Refactor ni_ao_cmd_set_update() and remove the
BUG() which can never occur.

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 55f9e7d9
Loading
Loading
Loading
Loading
+15 −24
Original line number Diff line number Diff line
@@ -3099,8 +3099,9 @@ static void ni_ao_cmd_set_update(struct comedi_device *dev,
	  NISTC_AO_MODE1_UPDATE_SRC_POLARITY
	);

	switch (cmd->scan_begin_src) {
	case TRIG_TIMER:
	if (cmd->scan_begin_src == TRIG_TIMER) {
		unsigned int trigvar;

		devpriv->ao_cmd2  &= ~NISTC_AO_CMD2_BC_GATE_ENA;

		/*
@@ -3131,9 +3132,6 @@ static void ni_ao_cmd_set_update(struct comedi_device *dev,
		 * eseries/ni67xx and tMSeries.h for mseries.
		 */

		{
			unsigned int trigvar;

		trigvar = ni_ns_to_timer(dev, cmd->scan_begin_arg,
					 CMDF_ROUND_NEAREST);

@@ -3143,23 +3141,16 @@ static void ni_ao_cmd_set_update(struct comedi_device *dev,
		 */
		/* following line: 2-1 per STC */
		ni_stc_writel(dev, 1, NISTC_AO_UI_LOADA_REG);
			ni_stc_writew(dev, NISTC_AO_CMD1_UI_LOAD,
				      NISTC_AO_CMD1_REG);
		ni_stc_writew(dev, NISTC_AO_CMD1_UI_LOAD, NISTC_AO_CMD1_REG);
		/* following line: N-1 per STC */
		ni_stc_writel(dev, trigvar - 1, NISTC_AO_UI_LOADA_REG);
		}
		break;
	case TRIG_EXT:
	} else { /* TRIG_EXT */
		/* FIXME:  assert scan_begin_arg != 0, ret failure otherwise */
		devpriv->ao_cmd2  |= NISTC_AO_CMD2_BC_GATE_ENA;
		devpriv->ao_mode1 |= NISTC_AO_MODE1_UPDATE_SRC(
					CR_CHAN(cmd->scan_begin_arg));
		if (cmd->scan_begin_arg & CR_INVERT)
			devpriv->ao_mode1 |= NISTC_AO_MODE1_UPDATE_SRC_POLARITY;
		break;
	default:
		BUG();
		break;
	}

	ni_stc_writew(dev, devpriv->ao_cmd2, NISTC_AO_CMD2_REG);