So of the boards supported by this driver do not have analog inputs and
some don't have analog outputs. Move the calls that reset these subdevices
during the (*attach) by ni_E_init() so they only happen if the subdevices
are present.
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>
if (devpriv->mite)
s->async_dma_dir = DMA_FROM_DEVICE;
}
+
+ /* reset the analog input configuration */
+ ni_ai_reset(dev, s);
} else {
s->type = COMEDI_SUBD_UNUSED;
}
if (devpriv->is_67xx)
init_ao_67xx(dev, s);
+
+ /* reset the analog output configuration */
+ ni_ao_reset(dev, s);
} else {
s->type = COMEDI_SUBD_UNUSED;
}
s->insn_write = &ni_freq_out_insn_write;
s->insn_config = &ni_freq_out_insn_config;
- /* ai configuration */
- s = &dev->subdevices[NI_AI_SUBDEV];
- ni_ai_reset(dev, s);
-
- /* analog output configuration */
- s = &dev->subdevices[NI_AO_SUBDEV];
- ni_ao_reset(dev, s);
-
if (dev->irq) {
ni_stc_writew(dev,
(irq_polarity ? Interrupt_Output_Polarity : 0) |