staging: comedi: adv_pci1710: move comedi_pci_enable() into the attach
PATCH 19/90 staging: comedi: adv_pci1710: move comedi_pci_enable() into the attach
Use pci_is_enabled() in the "find pci device" function to determine if the found pci device is not in use and move the comedi_pci_enable() call into the attach.
Signed-off-by H Hartley Sweeten <[email protected]>
Cc Ian Abbott <[email protected]>
Cc Greg Kroah-Hartman <[email protected]>
--- drivers/staging/comedi/drivers/adv_pci1710.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-)
drivers/staging/comedi/drivers/adv_pci1710.c +6 -9
@@ -1350,6 +1350,8 @@ static struct pci_dev *pci1710_find_pci_dev(struct comedi_device *dev, }if (pcidev->vendor !=PCI_VENDOR_ID_ADVANTECH )continue ; +if (pci_is_enabled (pcidev)) +continue ;if (strcmp (this_board->name,DRV_NAME ) ==0 ) {for (i =0 ; i <ARRAY_SIZE (boardtypes); ++i) {
@@ -1364,15 +1366,6 @@ static struct pci_dev *pci1710_find_pci_dev(struct comedi_device *dev,if (pcidev->device != boardtypes[board_index].device_id)continue ; } - -/* -* Look for device that isn't in use. -* Enable PCI device and request regions. -*/ -if (comedi_pci_enable (pcidev,DRV_NAME )) { -continue ; - } -/* fixup board_ptr in case we were using the dummy entry with the driver name */ dev->board_ptr = &boardtypes[board_index];return pcidev; }
@@ -1399,6 +1392,10 @@ static int pci1710_attach(struct comedi_device *dev,if (!devpriv->pcidev)return -EIO ; + ret =comedi_pci_enable (devpriv->pcidev,DRV_NAME ); +if (ret) +return ret; + dev->iobase =pci_resource_start (devpriv->pcidev,2 ); irq = devpriv->pcidev->irq;
Signature · 1 line
1.7.11
Quoted 3 lines · H Hartley Sweeten
Use
pci_is_enabled()in the "find pci device" function to determine if the found pci device is not in use and move thecomedi_pci_enable()call into the attach.
As mentioned in my reply to your equivalent patch for adv_pci1723, you should remove the pci_is_enabled() test for the same reason.
Signature · 2 lines
-=( Ian Abbott @ MEV Ltd. E-mail: <[email protected]> )=- -=( Tel: +44 (0)161 477 1898 FAX: +44 (0)161 718 3587 )=-