aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThierry Reding2016-11-25 11:57:11 +0100
committerBjorn Helgaas2016-12-07 12:05:58 -0600
commita52d1443bba1db98907521414727eee22ae8c380 (patch)
tree9fb3d5c40d4da2e8f7bd5fc83bdfb684db63b8fa
parent5909406598d9fab58be860b72dff9409bff11653 (diff)
PCI: Export host bridge registration interface
Allow PCI host bridge drivers to use the new host bridge interfaces to register their host bridge. Signed-off-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Bjorn Helgaas <helgaas@kernel.org>
-rw-r--r--drivers/pci/probe.c6
-rw-r--r--include/linux/pci.h2
2 files changed, 6 insertions, 2 deletions
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index cf9cb6f30782..f85ecb595c30 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -521,7 +521,7 @@ static void pci_release_host_bridge_dev(struct device *dev)
kfree(bridge);
}
-static struct pci_host_bridge *pci_alloc_host_bridge(size_t priv)
+struct pci_host_bridge *pci_alloc_host_bridge(size_t priv)
{
struct pci_host_bridge *bridge;
@@ -533,6 +533,7 @@ static struct pci_host_bridge *pci_alloc_host_bridge(size_t priv)
return bridge;
}
+EXPORT_SYMBOL(pci_alloc_host_bridge);
static const unsigned char pcix_bus_speed[] = {
PCI_SPEED_UNKNOWN, /* 0 */
@@ -717,7 +718,7 @@ static void pci_set_bus_msi_domain(struct pci_bus *bus)
dev_set_msi_domain(&bus->dev, d);
}
-static int pci_register_host_bridge(struct pci_host_bridge *bridge)
+int pci_register_host_bridge(struct pci_host_bridge *bridge)
{
struct device *parent = bridge->dev.parent;
struct resource_entry *window, *n;
@@ -832,6 +833,7 @@ free:
kfree(bus);
return err;
}
+EXPORT_SYMBOL(pci_register_host_bridge);
static struct pci_bus *pci_alloc_child_bus(struct pci_bus *parent,
struct pci_dev *bridge, int busnr)
diff --git a/include/linux/pci.h b/include/linux/pci.h
index beacb17e81fb..aa5e8af16cfc 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -449,6 +449,8 @@ static inline struct pci_host_bridge *pci_host_bridge_from_priv(void *priv)
return container_of(priv, struct pci_host_bridge, private);
}
+struct pci_host_bridge *pci_alloc_host_bridge(size_t priv);
+int pci_register_host_bridge(struct pci_host_bridge *bridge);
struct pci_host_bridge *pci_find_host_bridge(struct pci_bus *bus);
void pci_set_host_bridge_release(struct pci_host_bridge *bridge,