aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYinghai Lu <yinghai@kernel.org>2012-09-17 22:24:29 -0700
committerYinghai Lu <yinghai@kernel.org>2012-09-17 22:24:29 -0700
commite3dc0e6bd2f10d7ef61830e0fa580c87d3afea76 (patch)
treed4cfd85a27d6c9a1fb30e018cacccd01e69a0480
parent71ed3575c9baa3989072e2fb2af01f72da28108c (diff)
downloadlinux-yinghai-e3dc0e6bd2f10d7ef61830e0fa580c87d3afea76.tar.gz
PCI: Add pci_bus_replace_busn_res()
It will use replace_resource to put bus's busn_res in the resource tree. Signed-off-by: Yinghai Lu <yinghai@kernel.org>
-rw-r--r--drivers/pci/probe.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 84a307e27197ff..b1da241a8f0d65 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -835,6 +835,21 @@ static struct pci_bus *pci_alloc_child_bus(struct pci_bus *parent,
return child;
}
+static void pci_bus_replace_busn_res(struct pci_bus *b,
+ struct resource *busn_res)
+{
+ struct resource *res = &b->busn_res;
+
+ /* busn_res must be registered already*/
+ if (!busn_res->parent)
+ return;
+
+ replace_resource(busn_res, res);
+
+ dev_printk(KERN_DEBUG, &b->dev, "busn_res: %pR is updated under %pR\n",
+ res, res->parent);
+}
+
struct pci_bus *__ref pci_add_new_bus(struct pci_bus *parent, struct pci_dev *dev, int busnr)
{
struct pci_bus *child;