On 2012-07-19 02:30, H Hartley Sweeten wrote:
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 <hswee...@visionengravers.com>
Cc: Ian Abbott <abbo...@mev.co.uk>
Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org>
---
  drivers/staging/comedi/drivers/adv_pci1723.c | 10 +++++-----
  1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/comedi/drivers/adv_pci1723.c 
b/drivers/staging/comedi/drivers/adv_pci1723.c
index f561a2a..e971fa6 100644
--- a/drivers/staging/comedi/drivers/adv_pci1723.c
+++ b/drivers/staging/comedi/drivers/adv_pci1723.c
@@ -302,11 +302,7 @@ static struct pci_dev *pci1723_find_pci_dev(struct 
comedi_device *dev,
                }
                if (pcidev->vendor != PCI_VENDOR_ID_ADVANTECH)
                        continue;
-               /*
-                * Look for device that isn't in use.
-                * Enable PCI device and request regions.
-                */
-               if (comedi_pci_enable(pcidev, "adv_pci1723"))
+               if (pci_is_enabled(pcidev))
                        continue;
                return pcidev;
        }

Just because the device is enabled doesn't mean that it is in use, so this change could skip over a perfectly good unused device.

If you want to move the comedi_pci_enable() call, this is a change in behaviour for this particular driver, but is consistent with most of the other Comedi PCI drivers (and the bus/slot options can be used to select a particular device). This is probably a good thing, but you should take out the pci_is_enabled test.

@@ -335,6 +331,10 @@ static int pci1723_attach(struct comedi_device *dev,
        if (!devpriv->pcidev)
                return -EIO;

+       ret = comedi_pci_enable(devpriv->pcidev, "adv_pci1723");
+       if (ret)
+               return ret;
+
        dev->iobase = pci_resource_start(devpriv->pcidev, 2);

        dev->board_name = this_board->name;



--
-=( Ian Abbott @ MEV Ltd.    E-mail: <abbo...@mev.co.uk>        )=-
-=( Tel: +44 (0)161 477 1898   FAX: +44 (0)161 718 3587         )=-


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to