]> git.openfabrics.org - ~emulex/infiniband.git/commitdiff
PCI: cpqhp: use generic pci_hp_add_bridge()
authorYinghai Lu <yinghai@kernel.org>
Fri, 18 May 2012 01:58:41 +0000 (18:58 -0700)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 13 Jun 2012 21:42:26 +0000 (15:42 -0600)
Use the new generic pci_hp_add_bridge() interface.

[bhelgaas: changelog]
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/hotplug/cpqphp_pci.c

index 24716725263f0e7869158291a33e5b781584229a..09801c6945ce48c2b732a2f480d4ff91007b3f5c 100644 (file)
@@ -83,7 +83,6 @@ static void __iomem *detect_HRT_floating_pointer(void __iomem *begin, void __iom
 
 int cpqhp_configure_device (struct controller* ctrl, struct pci_func* func)
 {
-       unsigned char bus;
        struct pci_bus *child;
        int num;
 
@@ -106,11 +105,10 @@ int cpqhp_configure_device (struct controller* ctrl, struct pci_func* func)
        }
 
        if (func->pci_dev->hdr_type == PCI_HEADER_TYPE_BRIDGE) {
-               int max;
-               pci_read_config_byte(func->pci_dev, PCI_SECONDARY_BUS, &bus);
-               child = (struct pci_bus*) pci_add_new_bus(func->pci_dev->bus, (func->pci_dev), bus);
-               max = pci_do_scan_bus(child);
-               pci_bus_update_busn_res_end(child, max);
+               pci_hp_add_bridge(func->pci_dev);
+               child = func->pci_dev->subordinate;
+               if (child)
+                       pci_bus_add_devices(child);
        }
 
        pci_dev_put(func->pci_dev);