aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/pci_64.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kernel/pci_64.c')
-rw-r--r--arch/powerpc/kernel/pci_64.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c
index 74e580d25c1b..d800e19ea564 100644
--- a/arch/powerpc/kernel/pci_64.c
+++ b/arch/powerpc/kernel/pci_64.c
@@ -210,6 +210,10 @@ struct pci_controller * pcibios_alloc_controller(struct device_node *dev)
210 210
211void pcibios_free_controller(struct pci_controller *phb) 211void pcibios_free_controller(struct pci_controller *phb)
212{ 212{
213 spin_lock(&hose_spinlock);
214 list_del(&phb->list_node);
215 spin_unlock(&hose_spinlock);
216
213 if (phb->is_dynamic) 217 if (phb->is_dynamic)
214 kfree(phb); 218 kfree(phb);
215} 219}
@@ -1242,6 +1246,11 @@ static void __devinit do_bus_setup(struct pci_bus *bus)
1242void __devinit pcibios_fixup_bus(struct pci_bus *bus) 1246void __devinit pcibios_fixup_bus(struct pci_bus *bus)
1243{ 1247{
1244 struct pci_dev *dev = bus->self; 1248 struct pci_dev *dev = bus->self;
1249 struct device_node *np;
1250
1251 np = pci_bus_to_OF_node(bus);
1252
1253 DBG("pcibios_fixup_bus(%s)\n", np ? np->full_name : "<???>");
1245 1254
1246 if (dev && pci_probe_only && 1255 if (dev && pci_probe_only &&
1247 (dev->class >> 8) == PCI_CLASS_BRIDGE_PCI) { 1256 (dev->class >> 8) == PCI_CLASS_BRIDGE_PCI) {