The board reset function disables and clears all interrupts. It also
resets all the digital output channels to 0.

Interrupts are not used by this driver so the disable/clear during the
(*detach) is not necessary.

Reseting all the digital outputs to 0 might not be desired depending
on what the outputs are connected to.

Remove the board reset and just use comedi_pci_detach() directly for
the driver (*detach).

Signed-off-by: H Hartley Sweeten <hswee...@visionengravers.com>
Cc: Ian Abbott <abbo...@mev.co.uk>
Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org>
---
 drivers/staging/comedi/drivers/adv_pci_dio.c | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/drivers/staging/comedi/drivers/adv_pci_dio.c 
b/drivers/staging/comedi/drivers/adv_pci_dio.c
index 3c4335e..83591a6 100644
--- a/drivers/staging/comedi/drivers/adv_pci_dio.c
+++ b/drivers/staging/comedi/drivers/adv_pci_dio.c
@@ -548,18 +548,11 @@ static int pci_dio_auto_attach(struct comedi_device *dev,
        return 0;
 }
 
-static void pci_dio_detach(struct comedi_device *dev)
-{
-       if (dev->iobase)
-               pci_dio_reset(dev);
-       comedi_pci_detach(dev);
-}
-
 static struct comedi_driver adv_pci_dio_driver = {
        .driver_name    = "adv_pci_dio",
        .module         = THIS_MODULE,
        .auto_attach    = pci_dio_auto_attach,
-       .detach         = pci_dio_detach,
+       .detach         = comedi_pci_detach,
 };
 
 static int adv_pci_dio_pci_probe(struct pci_dev *dev,
-- 
2.5.1

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to