staging: comedi: adv_pci_dio: do board reset early in (*auto_attach)
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Wed, 18 Nov 2015 17:07:16 +0000 (10:07 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 21 Dec 2015 23:57:40 +0000 (15:57 -0800)
The board reset function disables and clears all interrupts. It also
resets all the digital output channels to 0.

Interrupts are not currently used by this driver. For asthetics, do
the board reset early in the (*auto_attach) to make sure the interrupts
are disabled in case this feature is added.

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>
drivers/staging/comedi/drivers/adv_pci_dio.c

index 83591a6..55ca8f9 100644 (file)
@@ -471,6 +471,8 @@ static int pci_dio_auto_attach(struct comedi_device *dev,
        else
                dev->iobase = pci_resource_start(pcidev, 2);
 
+       pci_dio_reset(dev);
+
        ret = comedi_alloc_subdevices(dev, board->nsubdevs);
        if (ret)
                return ret;
@@ -543,8 +545,6 @@ static int pci_dio_auto_attach(struct comedi_device *dev,
                comedi_8254_subdevice_init(s, dev->pacer);
        }
 
-       pci_dio_reset(dev);
-
        return 0;
 }