Commit 2ab51dde authored by Tomasz Nowicki's avatar Tomasz Nowicki Committed by Bjorn Helgaas

ARM64: PCI: Add acpi_pci_bus_find_domain_nr()

Extend pci_bus_find_domain_nr() so it can find the domain from either:

  - ACPI, via the new acpi_pci_bus_find_domain_nr() interface, or
  - DT, via of_pci_bus_find_domain_nr()

Note that this is only used for CONFIG_PCI_DOMAINS_GENERIC=y, so it does
not affect x86 or ia64.

[bhelgaas: changelog]
Signed-off-by: default avatarTomasz Nowicki <tn@semihalf.com>
Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
parent 1a4f93f7
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include <linux/mm.h> #include <linux/mm.h>
#include <linux/of_pci.h> #include <linux/of_pci.h>
#include <linux/of_platform.h> #include <linux/of_platform.h>
#include <linux/pci.h>
#include <linux/slab.h> #include <linux/slab.h>
/* /*
...@@ -85,6 +86,12 @@ EXPORT_SYMBOL(pcibus_to_node); ...@@ -85,6 +86,12 @@ EXPORT_SYMBOL(pcibus_to_node);
#endif #endif
#ifdef CONFIG_ACPI #ifdef CONFIG_ACPI
int acpi_pci_bus_find_domain_nr(struct pci_bus *bus)
{
return 0;
}
/* Root bridge scanning */ /* Root bridge scanning */
struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root) struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root)
{ {
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
* Copyright 1997 -- 2000 Martin Mares <mj@ucw.cz> * Copyright 1997 -- 2000 Martin Mares <mj@ucw.cz>
*/ */
#include <linux/acpi.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/init.h> #include <linux/init.h>
...@@ -4990,7 +4991,8 @@ static int of_pci_bus_find_domain_nr(struct device *parent) ...@@ -4990,7 +4991,8 @@ static int of_pci_bus_find_domain_nr(struct device *parent)
int pci_bus_find_domain_nr(struct pci_bus *bus, struct device *parent) int pci_bus_find_domain_nr(struct pci_bus *bus, struct device *parent)
{ {
return of_pci_bus_find_domain_nr(parent); return acpi_disabled ? of_pci_bus_find_domain_nr(parent) :
acpi_pci_bus_find_domain_nr(bus);
} }
#endif #endif
#endif #endif
......
...@@ -1390,6 +1390,12 @@ static inline int pci_domain_nr(struct pci_bus *bus) ...@@ -1390,6 +1390,12 @@ static inline int pci_domain_nr(struct pci_bus *bus)
{ {
return bus->domain_nr; return bus->domain_nr;
} }
#ifdef CONFIG_ACPI
int acpi_pci_bus_find_domain_nr(struct pci_bus *bus);
#else
static inline int acpi_pci_bus_find_domain_nr(struct pci_bus *bus)
{ return 0; }
#endif
int pci_bus_find_domain_nr(struct pci_bus *bus, struct device *parent); int pci_bus_find_domain_nr(struct pci_bus *bus, struct device *parent);
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment