diff options
Diffstat (limited to 'arch/powerpc/platforms/maple/pci.c')
-rw-r--r-- | arch/powerpc/platforms/maple/pci.c | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/arch/powerpc/platforms/maple/pci.c b/arch/powerpc/platforms/maple/pci.c index 3f6a69f67195..73c59904697f 100644 --- a/arch/powerpc/platforms/maple/pci.c +++ b/arch/powerpc/platforms/maple/pci.c | |||
@@ -425,14 +425,6 @@ static void __init setup_u4_pcie(struct pci_controller* hose) | |||
425 | hose->cfg_addr = ioremap(0xf0000000 + 0x800000, 0x1000); | 425 | hose->cfg_addr = ioremap(0xf0000000 + 0x800000, 0x1000); |
426 | hose->cfg_data = ioremap(0xf0000000 + 0xc00000, 0x1000); | 426 | hose->cfg_data = ioremap(0xf0000000 + 0xc00000, 0x1000); |
427 | 427 | ||
428 | /* The bus contains a bridge from root -> device, we need to | ||
429 | * make it visible on bus 0 so that we pick the right type | ||
430 | * of config cycles. If we didn't, we would have to force all | ||
431 | * config cycles to be type 1. So we override the "bus-range" | ||
432 | * property here | ||
433 | */ | ||
434 | hose->first_busno = 0x00; | ||
435 | hose->last_busno = 0xff; | ||
436 | u4_pcie = hose; | 428 | u4_pcie = hose; |
437 | } | 429 | } |
438 | 430 | ||
@@ -560,13 +552,16 @@ void __init maple_pci_init(void) | |||
560 | return; | 552 | return; |
561 | } | 553 | } |
562 | for (np = NULL; (np = of_get_next_child(root, np)) != NULL;) { | 554 | for (np = NULL; (np = of_get_next_child(root, np)) != NULL;) { |
563 | if (np->name == NULL) | 555 | if (!np->type) |
564 | continue; | 556 | continue; |
565 | if (!strcmp(np->name, "pci") || !strcmp(np->name, "pcie")) { | 557 | if (strcmp(np->type, "pci") && strcmp(np->type, "ht")) |
566 | if (add_bridge(np) == 0) | 558 | continue; |
567 | of_node_get(np); | 559 | if ((device_is_compatible(np, "u4-pcie") || |
568 | } | 560 | device_is_compatible(np, "u3-agp")) && |
569 | if (strcmp(np->name, "ht") == 0) { | 561 | add_bridge(np) == 0) |
562 | of_node_get(np); | ||
563 | |||
564 | if (device_is_compatible(np, "u3-ht")) { | ||
570 | of_node_get(np); | 565 | of_node_get(np); |
571 | ht = np; | 566 | ht = np; |
572 | } | 567 | } |