Re: [PATCH v3 25/34] powerpc/PCI: split PHB part out of pcibios_map_io_space()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux