PCI: xgene: Assign resources to bus before adding new devices
The X-Gene PCIe driver assumes pci_scan_root_bus() assigns resources as proposed in [1]. But we dropped patch [1] because it would break some architectures, which means the X-Gene PCIe driver is currently broken. Add calls to scan the bus, assign resources, and add devices in the X-Gene driver to fix this. [bhelgaas: changelog] [1] http://lkml.kernel.org/r/1412000971-9242-11-git-send-email-Liviu.Dudau@arm.com Signed-off-by: Duc Dang <dhdang@apm.com> Signed-off-by: Tanmay Inamdar <tinamdar@apm.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
parent
32f638fc11
commit
336b5be2c5
1 changed files with 6 additions and 1 deletions
|
@ -631,10 +631,15 @@ static int xgene_pcie_probe_bridge(struct platform_device *pdev)
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
bus = pci_scan_root_bus(&pdev->dev, 0, &xgene_pcie_ops, port, &res);
|
bus = pci_create_root_bus(&pdev->dev, 0,
|
||||||
|
&xgene_pcie_ops, port, &res);
|
||||||
if (!bus)
|
if (!bus)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
|
pci_scan_child_bus(bus);
|
||||||
|
pci_assign_unassigned_bus_resources(bus);
|
||||||
|
pci_bus_add_devices(bus);
|
||||||
|
|
||||||
platform_set_drvdata(pdev, port);
|
platform_set_drvdata(pdev, port);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue