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 83591a6c3f93f530a08fd3539ac0f045250427d1..55ca8f936dcd0f16eddac1ce038729eb6efecc13 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;
 }