mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 21:54:34 -04:00
staging: comedi: addi_apci_3120: remove analog output reset
The apci3120_reset() function is called at the end of the (*auto_attach) and with the (*detach) is called to unload the driver. Part of this function resets all the analog output channels to 0V. There are two problems with this. 1) Only the APCI-3120 has analog outputs, the APCI-3001 does not. 2) The DA_READY bit in the status register needs to be checked before each write to update the analog outputs. It's unknown what the DA_READY bit does on the APCI-3001 board. Just remove the analog output reset to avoid any problems. Also, remove the unnecessary udelay() in apci3120_reset(). 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:
parent
ce987a8a8f
commit
b9ae204658
1 changed files with 0 additions and 18 deletions
|
|
@ -40,8 +40,6 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
|||
+----------+-----------+------------------------------------------------+
|
||||
*/
|
||||
|
||||
#include <linux/delay.h>
|
||||
|
||||
/*
|
||||
* ADDON RELATED ADDITIONS
|
||||
*/
|
||||
|
|
@ -578,22 +576,6 @@ static int apci3120_reset(struct comedi_device *dev)
|
|||
devpriv->us_OutputRegister = 0;
|
||||
outw(devpriv->us_OutputRegister, dev->iobase + APCI3120_WR_ADDRESS);
|
||||
|
||||
/*
|
||||
* Code to set the all anolog o/p channel to 0v 8191 is decimal
|
||||
* value for zero(0 v)volt in bipolar mode(default)
|
||||
*/
|
||||
outw(8191 | APCI3120_ANALOG_OP_CHANNEL_1, dev->iobase + APCI3120_ANALOG_OUTPUT_1); /* channel 1 */
|
||||
outw(8191 | APCI3120_ANALOG_OP_CHANNEL_2, dev->iobase + APCI3120_ANALOG_OUTPUT_1); /* channel 2 */
|
||||
outw(8191 | APCI3120_ANALOG_OP_CHANNEL_3, dev->iobase + APCI3120_ANALOG_OUTPUT_1); /* channel 3 */
|
||||
outw(8191 | APCI3120_ANALOG_OP_CHANNEL_4, dev->iobase + APCI3120_ANALOG_OUTPUT_1); /* channel 4 */
|
||||
|
||||
outw(8191 | APCI3120_ANALOG_OP_CHANNEL_5, dev->iobase + APCI3120_ANALOG_OUTPUT_2); /* channel 5 */
|
||||
outw(8191 | APCI3120_ANALOG_OP_CHANNEL_6, dev->iobase + APCI3120_ANALOG_OUTPUT_2); /* channel 6 */
|
||||
outw(8191 | APCI3120_ANALOG_OP_CHANNEL_7, dev->iobase + APCI3120_ANALOG_OUTPUT_2); /* channel 7 */
|
||||
outw(8191 | APCI3120_ANALOG_OP_CHANNEL_8, dev->iobase + APCI3120_ANALOG_OUTPUT_2); /* channel 8 */
|
||||
|
||||
udelay(10);
|
||||
|
||||
inw(dev->iobase + 0); /* make a dummy read */
|
||||
inb(dev->iobase + APCI3120_RESET_FIFO); /* flush FIFO */
|
||||
inw(dev->iobase + APCI3120_RD_STATUS); /* flush A/D status register */
|
||||
|
|
|
|||
Loading…
Reference in a new issue