On Fri, Oct 28, 2011 at 4:27 PM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote: > No functional change. This is so we can use pcibios_phb_map_io_space() > before we have a struct pci_bus. > > CC: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> > Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> > --- > arch/powerpc/kernel/pci_64.c | 40 +++++++++++++++++++++------------------- > 1 files changed, 21 insertions(+), 19 deletions(-) > > diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c > index ab34046..4401425 100644 > --- a/arch/powerpc/kernel/pci_64.c > +++ b/arch/powerpc/kernel/pci_64.c > @@ -130,30 +130,13 @@ EXPORT_SYMBOL_GPL(pcibios_unmap_io_space); > > #endif /* CONFIG_HOTPLUG */ > > -int __devinit pcibios_map_io_space(struct pci_bus *bus) > +static int __devinit pcibios_map_phb_io_space(struct pci_controller *hose) > { > struct vm_struct *area; > unsigned long phys_page; > unsigned long size_page; > unsigned long io_virt_offset; > - struct pci_controller *hose; > - > - WARN_ON(bus == NULL); > - > - /* If this not a PHB, nothing to do, page tables still exist and > - * thus HPTEs will be faulted in when needed > - */ > - if (bus->self) { > - pr_debug("IO mapping for PCI-PCI bridge %s\n", > - pci_name(bus->self)); > - pr_debug(" virt=0x%016llx...0x%016llx\n", > - bus->resource[0]->start + _IO_BASE, > - bus->resource[0]->end + _IO_BASE); > - return 0; > - } > > - /* Get the host bridge */ > - hose = pci_bus_to_host(bus); > phys_page = _ALIGN_DOWN(hose->io_base_phys, PAGE_SIZE); > size_page = _ALIGN_UP(hose->pci_io_size, PAGE_SIZE); > > @@ -197,11 +180,30 @@ int __devinit pcibios_map_io_space(struct pci_bus *bus) > > return 0; > } > + > +int __devinit pcibios_map_io_space(struct pci_bus *bus) > +{ > + WARN_ON(bus == NULL); > + > + /* If this not a PHB, nothing to do, page tables still exist and > + * thus HPTEs will be faulted in when needed > + */ > + if (bus->self) { > + pr_debug("IO mapping for PCI-PCI bridge %s\n", > + pci_name(bus->self)); > + pr_debug(" virt=0x%016llx...0x%016llx\n", > + bus->resource[0]->start + _IO_BASE, > + bus->resource[0]->end + _IO_BASE); > + return 0; > + } > + > + return pcibios_phb_map_phb_io_space(pci_bus_to_host(bus)); Typo here broke the build, corrected patch attached. (Also available at git://github.com/bjorn-helgaas/linux.git on the "pci-scan-v4" branch as b6550f8d5a6470dd113249c00eacc922f9062450)
Attachment:
patch.split-phb-part-out
Description: Binary data