mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-14 07:42:38 -04:00
staging: comedi: adl_pci9118: don't reset digital outputs
Currently this driver resets the digital output channels to a low state when the driver is attached and detached. Since the digital output state can be read, initialize the subdevice state when the driver is attached and don't reset them. 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:
committed by
Greg Kroah-Hartman
parent
8df6166b4d
commit
304e2be17e
@@ -1706,7 +1706,6 @@ static int pci9118_reset(struct comedi_device *dev)
|
||||
outl(devpriv->ao_data[0], dev->iobase + PCI9118_AO_REG(0));
|
||||
outl(devpriv->ao_data[1], dev->iobase + PCI9118_AO_REG(1));
|
||||
|
||||
outl(0, dev->iobase + PCI9118_DIO_REG); /* reset digi outs to L */
|
||||
udelay(10);
|
||||
inl(dev->iobase + PCI9118_AI_FIFO_REG);
|
||||
pci9118_ai_reset_fifo(dev);
|
||||
@@ -1907,6 +1906,9 @@ static int pci9118_common_attach(struct comedi_device *dev, int disable_irq,
|
||||
s->range_table = &range_digital;
|
||||
s->insn_bits = pci9118_do_insn_bits;
|
||||
|
||||
/* get the current state of the digital outputs */
|
||||
s->state = inl(dev->iobase + PCI9118_DIO_REG) >> 4;
|
||||
|
||||
devpriv->ai_maskharderr = 0x10a;
|
||||
/* default measure crash condition */
|
||||
if (hw_err_mask) /* disable some requested */
|
||||
|
||||
Reference in New Issue
Block a user