edd: switch to pci_get based API
Alan Cox [Mon, 16 Jul 2007 06:40:02 +0000 (23:40 -0700)]
Signed-off-by: Alan Cox <alan@redhat.com>
Cc: Matt Domsch <Matt_Domsch@dell.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

drivers/firmware/edd.c

index 1523227..0fb730e 100644 (file)
@@ -669,7 +669,7 @@ edd_get_pci_dev(struct edd_device *edev)
        struct edd_info *info = edd_dev_get_info(edev);
 
        if (edd_dev_is_type(edev, "PCI")) {
-               return pci_find_slot(info->params.interface_path.pci.bus,
+               return pci_get_bus_and_slot(info->params.interface_path.pci.bus,
                                     PCI_DEVFN(info->params.interface_path.pci.slot,
                                               info->params.interface_path.pci.
                                               function));
@@ -682,9 +682,12 @@ edd_create_symlink_to_pcidev(struct edd_device *edev)
 {
 
        struct pci_dev *pci_dev = edd_get_pci_dev(edev);
+       int ret;
        if (!pci_dev)
                return 1;
-       return sysfs_create_link(&edev->kobj,&pci_dev->dev.kobj,"pci_dev");
+       ret = sysfs_create_link(&edev->kobj,&pci_dev->dev.kobj,"pci_dev");
+       pci_dev_put(pci_dev);
+       return ret;
 }
 
 static inline void