Explorar o código

PCI: cpqhp: use generic pci_hp_add_bridge()

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>
Yinghai Lu %!s(int64=13) %!d(string=hai) anos
pai
achega
04de975e78
Modificáronse 1 ficheiros con 4 adicións e 6 borrados
  1. 4 6
      drivers/pci/hotplug/cpqphp_pci.c

+ 4 - 6
drivers/pci/hotplug/cpqphp_pci.c

@@ -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)
 int cpqhp_configure_device (struct controller* ctrl, struct pci_func* func)
 {
 {
-	unsigned char bus;
 	struct pci_bus *child;
 	struct pci_bus *child;
 	int num;
 	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) {
 	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);
 	pci_dev_put(func->pci_dev);