aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/probe.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pci/probe.c')
-rw-r--r--drivers/pci/probe.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 48849ffdd672..c28c7b91910e 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -52,6 +52,7 @@ static void release_pcibus_dev(struct device *dev)
52 if (pci_bus->bridge) 52 if (pci_bus->bridge)
53 put_device(pci_bus->bridge); 53 put_device(pci_bus->bridge);
54 pci_bus_remove_resources(pci_bus); 54 pci_bus_remove_resources(pci_bus);
55 pci_release_bus_of_node(pci_bus);
55 kfree(pci_bus); 56 kfree(pci_bus);
56} 57}
57 58
@@ -588,7 +589,7 @@ static struct pci_bus *pci_alloc_child_bus(struct pci_bus *parent,
588 589
589 child->self = bridge; 590 child->self = bridge;
590 child->bridge = get_device(&bridge->dev); 591 child->bridge = get_device(&bridge->dev);
591 592 pci_set_bus_of_node(child);
592 pci_set_bus_speed(child); 593 pci_set_bus_speed(child);
593 594
594 /* Set up default resource pointers and names.. */ 595 /* Set up default resource pointers and names.. */
@@ -1038,6 +1039,7 @@ static void pci_release_dev(struct device *dev)
1038 1039
1039 pci_dev = to_pci_dev(dev); 1040 pci_dev = to_pci_dev(dev);
1040 pci_release_capabilities(pci_dev); 1041 pci_release_capabilities(pci_dev);
1042 pci_release_of_node(pci_dev);
1041 kfree(pci_dev); 1043 kfree(pci_dev);
1042} 1044}
1043 1045
@@ -1157,6 +1159,8 @@ static struct pci_dev *pci_scan_device(struct pci_bus *bus, int devfn)
1157 dev->vendor = l & 0xffff; 1159 dev->vendor = l & 0xffff;
1158 dev->device = (l >> 16) & 0xffff; 1160 dev->device = (l >> 16) & 0xffff;
1159 1161
1162 pci_set_of_node(dev);
1163
1160 if (pci_setup_device(dev)) { 1164 if (pci_setup_device(dev)) {
1161 kfree(dev); 1165 kfree(dev);
1162 return NULL; 1166 return NULL;
@@ -1409,6 +1413,7 @@ struct pci_bus * pci_create_bus(struct device *parent,
1409 goto dev_reg_err; 1413 goto dev_reg_err;
1410 b->bridge = get_device(dev); 1414 b->bridge = get_device(dev);
1411 device_enable_async_suspend(b->bridge); 1415 device_enable_async_suspend(b->bridge);
1416 pci_set_bus_of_node(b);
1412 1417
1413 if (!parent) 1418 if (!parent)
1414 set_dev_node(b->bridge, pcibus_to_node(b)); 1419 set_dev_node(b->bridge, pcibus_to_node(b));