PCI: ibmhp: 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/ibmphp_core.c

index a62f296e8b0d5eee86f72e4a229da08db9102503..7dccad5fc8910741f299928a38b7045cdebf0f88 100644 (file)
@@ -775,7 +775,6 @@ static u8 bus_structure_fixup(u8 busno)
 
 static int ibm_configure_device(struct pci_func *func)
 {
-       unsigned char bus;
        struct pci_bus *child;
        int num;
        int flag = 0;   /* this is to make sure we don't double scan the bus,
@@ -805,11 +804,10 @@ static int ibm_configure_device(struct pci_func *func)
                }
        }
        if (!(flag) && (func->dev->hdr_type == PCI_HEADER_TYPE_BRIDGE)) {
-               int max;
-               pci_read_config_byte(func->dev, PCI_SECONDARY_BUS, &bus);
-               child = pci_add_new_bus(func->dev->bus, func->dev, bus);
-               max = pci_do_scan_bus(child);
-               pci_bus_update_busn_res_end(child, max);
+               pci_hp_add_bridge(func->dev);
+               child = func->dev->subordinate;
+               if (child)
+                       pci_bus_add_devices(child);
        }
 
        return 0;