]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/pci/hotplug/cpcihp_generic.c
PCI Hotplug: make cpcihp driver use modern apis
[linux-2.6-omap-h63xx.git] / drivers / pci / hotplug / cpcihp_generic.c
index f3852a6b74eada8b19bc732faf27b383897a9075..148fb463b81ccc522ad76be7b48b75b369d89390 100644 (file)
@@ -154,12 +154,18 @@ static int __init cpcihp_generic_init(void)
        if(!r)
                return -EBUSY;
 
-       dev = pci_find_slot(bridge_busnr, PCI_DEVFN(bridge_slot, 0));
+       bus = pci_find_bus(0, bridge_busnr);
+       if (!bus) {
+               err("Invalid bus number %d", bridge_busnr);
+               return -EINVAL;
+       }
+       dev = pci_get_slot(bus, PCI_DEVFN(bridge_slot, 0));
        if(!dev || dev->hdr_type != PCI_HEADER_TYPE_BRIDGE) {
                err("Invalid bridge device %s", bridge);
                return -EINVAL;
        }
        bus = dev->subordinate;
+       pci_dev_put(dev);
 
        memset(&generic_hpc, 0, sizeof (struct cpci_hp_controller));
        generic_hpc_ops.query_enum = query_enum;