diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2011-10-28 16:25:50 -0600 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2012-01-06 12:10:52 -0800 |
commit | a2ebb827958a4ab3577443f89037f229683c644a (patch) | |
tree | c1e44c472315f75c8ba9d147e3712db1e9017a1e /net/9p | |
parent | 166c6370754a0a92386e2ffb0eeb06e50ac8588d (diff) | |
download | op-kernel-dev-a2ebb827958a4ab3577443f89037f229683c644a.zip op-kernel-dev-a2ebb827958a4ab3577443f89037f229683c644a.tar.gz |
PCI: add pci_scan_root_bus() that accepts resource list
"Early" and "header" quirks often use incorrect bus resources because they
see the default resources assigned by pci_create_bus(), before the
architecture fixes them up (typically in pcibios_fixup_bus()). Regions
reserved by these quirks end up with the wrong parents.
Here's the standard path for scanning a PCI root bus:
pci_scan_bus or pci_scan_bus_parented
pci_create_bus <-- A create with default resources
pci_scan_child_bus
pci_scan_slot
pci_scan_single_device
pci_scan_device
pci_setup_device
pci_fixup_device(early) <-- B
pci_device_add
pci_fixup_device(header) <-- C
pcibios_fixup_bus <-- D fill in correct resources
Early and header quirks at B and C use the default (incorrect) root bus
resources rather than those filled in at D.
This patch adds a new pci_scan_root_bus() function that sets the bus
resources correctly from a supplied list of resources.
I intend to remove pci_scan_bus() and pci_scan_bus_parented() after
fixing all callers.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'net/9p')
0 files changed, 0 insertions, 0 deletions