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

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

staging: comedi: ni_660x: default DIO channels with subdevice init



For aesthetics, move the initialization of the default routing for the
DIO channels so it happens when the subdevice is initialized.

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 90ad57be
Loading
Loading
Loading
Loading
+13 −14
Original line number Diff line number Diff line
@@ -996,6 +996,19 @@ static int ni_660x_auto_attach(struct comedi_device *dev,
	s->insn_bits	= ni_660x_dio_insn_bits;
	s->insn_config	= ni_660x_dio_insn_config;

	 /*
	  * Default the DIO channels as:
	  *   chan 0-7:  DIO inputs
	  *   chan 8-39: counter signal inputs
	  */
	for (i = 0; i < s->n_chan; ++i) {
		unsigned int source = (i < 8) ? NI_660X_PFI_OUTPUT_DIO
					      : NI_660X_PFI_OUTPUT_COUNTER;

		ni_660x_set_pfi_routing(dev, i, source);
		ni_660x_select_pfi_output(dev, i, 0);		/* high-z */
	}

	/* Counter subdevices (4 NI TIO General Purpose Counters per chip) */
	for (i = 0; i < NI660X_MAX_COUNTERS; ++i) {
		s = &dev->subdevices[subdev++];
@@ -1028,20 +1041,6 @@ static int ni_660x_auto_attach(struct comedi_device *dev,
		}
	}

	 /*
	  * Default the DIO channels as:
	  *   chan 0-7:  DIO inputs
	  *   chan 8-39: counter signal inputs
	  */
	for (i = 0; i < NI660X_NUM_PFI_CHANNELS; ++i) {
		if (i < 8)
			ni_660x_set_pfi_routing(dev, i, NI_660X_PFI_OUTPUT_DIO);
		else
			ni_660x_set_pfi_routing(dev, i,
						NI_660X_PFI_OUTPUT_COUNTER);
		ni_660x_select_pfi_output(dev, i, 0);		/* high-z */
	}

	/*
	 * To be safe, set counterswap bits on tio chips after all the counter
	 * outputs have been set to high impedance mode.