diff options
Diffstat (limited to 'arch/microblaze/pci/pci_32.c')
-rw-r--r-- | arch/microblaze/pci/pci_32.c | 40 |
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 | */ | ||
216 | struct device_node * | ||
217 | pci_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 | } | ||
236 | EXPORT_SYMBOL(pci_busdev_to_OF_node); | ||
237 | |||
238 | struct device_node* | ||
239 | pci_device_to_OF_node(struct pci_dev *dev) | ||
240 | { | ||
241 | return pci_busdev_to_OF_node(dev->bus, dev->devfn); | ||
242 | } | ||
243 | EXPORT_SYMBOL(pci_device_to_OF_node); | ||
244 | |||
245 | static int | 213 | static int |
246 | find_OF_pci_device_filter(struct device_node *node, void *data) | 214 | find_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 | ||
286 | struct 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 | |||
318 | static void __devinit pcibios_scan_phb(struct pci_controller *hose) | 293 | static 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 | ||