aboutsummaryrefslogtreecommitdiffstats
path: root/arch/microblaze/pci/pci_32.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/microblaze/pci/pci_32.c')
-rw-r--r--arch/microblaze/pci/pci_32.c40
1 files changed, 7 insertions, 33 deletions
diff --git a/arch/microblaze/pci/pci_32.c b/arch/microblaze/pci/pci_32.c
index 92728a6cfd80..2fa95069e6ba 100644
--- a/arch/microblaze/pci/pci_32.c
+++ b/arch/microblaze/pci/pci_32.c
@@ -210,38 +210,6 @@ static struct device_node *scan_OF_for_pci_bus(struct pci_bus *bus)
210 return np; 210 return np;
211} 211}
212 212
213/*
214 * Scans the OF tree for a device node matching a PCI device
215 */
216struct device_node *
217pci_busdev_to_OF_node(struct pci_bus *bus, int devfn)
218{
219 struct device_node *parent, *np;
220
221 pr_debug("pci_busdev_to_OF_node(%d,0x%x)\n", bus->number, devfn);
222 parent = scan_OF_for_pci_bus(bus);
223 if (parent == NULL)
224 return NULL;
225 pr_debug(" parent is %s\n", parent ? parent->full_name : "<NULL>");
226 np = scan_OF_for_pci_dev(parent, devfn);
227 of_node_put(parent);
228 pr_debug(" result is %s\n", np ? np->full_name : "<NULL>");
229
230 /* XXX most callers don't release the returned node
231 * mostly because ppc64 doesn't increase the refcount,
232 * we need to fix that.
233 */
234 return np;
235}
236EXPORT_SYMBOL(pci_busdev_to_OF_node);
237
238struct device_node*
239pci_device_to_OF_node(struct pci_dev *dev)
240{
241 return pci_busdev_to_OF_node(dev->bus, dev->devfn);
242}
243EXPORT_SYMBOL(pci_device_to_OF_node);
244
245static int 213static int
246find_OF_pci_device_filter(struct device_node *node, void *data) 214find_OF_pci_device_filter(struct device_node *node, void *data)
247{ 215{
@@ -315,6 +283,13 @@ pci_create_OF_bus_map(void)
315 } 283 }
316} 284}
317 285
286struct device_node *pcibios_get_phb_of_node(struct pci_bus *bus)
287{
288 struct pci_controller *hose = bus->sysdata;
289
290 return of_node_get(hose->dn);
291}
292
318static void __devinit pcibios_scan_phb(struct pci_controller *hose) 293static void __devinit pcibios_scan_phb(struct pci_controller *hose)
319{ 294{
320 struct pci_bus *bus; 295 struct pci_bus *bus;
@@ -332,7 +307,6 @@ static void __devinit pcibios_scan_phb(struct pci_controller *hose)
332 hose->global_number); 307 hose->global_number);
333 return; 308 return;
334 } 309 }
335 bus.dev->of_node = of_node_get(node);
336 bus->secondary = hose->first_busno; 310 bus->secondary = hose->first_busno;
337 hose->bus = bus; 311 hose->bus = bus;
338 312