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: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
H Hartley Sweeten 2016-03-22 11:10:47 -07:00 committed by Greg Kroah-Hartman
parent 90ad57be6b
commit 34b7f1f819

View File

@ -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.