aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/include/asm/pci.h1
-rw-r--r--arch/powerpc/kernel/pci-common.c16
-rw-r--r--arch/powerpc/kernel/pci_32.c11
-rw-r--r--arch/powerpc/kernel/pci_64.c11
4 files changed, 11 insertions, 28 deletions
diff --git a/arch/powerpc/include/asm/pci.h b/arch/powerpc/include/asm/pci.h
index 57a2a494886b..55542ac3eadb 100644
--- a/arch/powerpc/include/asm/pci.h
+++ b/arch/powerpc/include/asm/pci.h
@@ -235,7 +235,6 @@ extern void pci_resource_to_user(const struct pci_dev *dev, int bar,
235 const struct resource *rsrc, 235 const struct resource *rsrc,
236 resource_size_t *start, resource_size_t *end); 236 resource_size_t *start, resource_size_t *end);
237 237
238extern void pcibios_do_bus_setup(struct pci_bus *bus);
239extern void pcibios_fixup_of_probed_bus(struct pci_bus *bus); 238extern void pcibios_fixup_of_probed_bus(struct pci_bus *bus);
240 239
241 240
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c
index 6d46bfabdbe4..780db386c1f0 100644
--- a/arch/powerpc/kernel/pci-common.c
+++ b/arch/powerpc/kernel/pci-common.c
@@ -1076,18 +1076,24 @@ static void __devinit pcibios_fixup_bridge(struct pci_bus *bus)
1076 1076
1077static void __devinit __pcibios_fixup_bus(struct pci_bus *bus) 1077static void __devinit __pcibios_fixup_bus(struct pci_bus *bus)
1078{ 1078{
1079 struct pci_dev *dev = bus->self; 1079 struct pci_dev *dev;
1080 1080
1081 pr_debug("PCI: Fixup bus %d (%s)\n", bus->number, dev ? pci_name(dev) : "PHB"); 1081 pr_debug("PCI: Fixup bus %d (%s)\n",
1082 bus->number, bus->self ? pci_name(bus->self) : "PHB");
1082 1083
1083 /* Fixup PCI<->PCI bridges. Host bridges are handled separately, for 1084 /* Fixup PCI<->PCI bridges. Host bridges are handled separately, for
1084 * now differently between 32 and 64 bits. 1085 * now differently between 32 and 64 bits.
1085 */ 1086 */
1086 if (dev != NULL) 1087 if (bus->self != NULL)
1087 pcibios_fixup_bridge(bus); 1088 pcibios_fixup_bridge(bus);
1088 1089
1089 /* Additional setup that is different between 32 and 64 bits for now */ 1090 /* Setup bus DMA mappings */
1090 pcibios_do_bus_setup(bus); 1091 if (ppc_md.pci_dma_bus_setup)
1092 ppc_md.pci_dma_bus_setup(bus);
1093
1094 /* Setup DMA for all PCI devices on that bus */
1095 list_for_each_entry(dev, &bus->devices, bus_list)
1096 pcibios_setup_new_device(dev);
1091 1097
1092 /* Platform specific bus fixups */ 1098 /* Platform specific bus fixups */
1093 if (ppc_md.pcibios_fixup_bus) 1099 if (ppc_md.pcibios_fixup_bus)
diff --git a/arch/powerpc/kernel/pci_32.c b/arch/powerpc/kernel/pci_32.c
index 883040358273..7ad11e592f2b 100644
--- a/arch/powerpc/kernel/pci_32.c
+++ b/arch/powerpc/kernel/pci_32.c
@@ -446,17 +446,6 @@ static int __init pcibios_init(void)
446 446
447subsys_initcall(pcibios_init); 447subsys_initcall(pcibios_init);
448 448
449void __devinit pcibios_do_bus_setup(struct pci_bus *bus)
450{
451 struct pci_dev *dev;
452
453 if (ppc_md.pci_dma_bus_setup)
454 ppc_md.pci_dma_bus_setup(bus);
455
456 list_for_each_entry(dev, &bus->devices, bus_list)
457 pcibios_setup_new_device(dev);
458}
459
460/* the next one is stolen from the alpha port... */ 449/* the next one is stolen from the alpha port... */
461void __init 450void __init
462pcibios_update_irq(struct pci_dev *dev, int irq) 451pcibios_update_irq(struct pci_dev *dev, int irq)
diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c
index f5fc547284bc..e6e8813c364a 100644
--- a/arch/powerpc/kernel/pci_64.c
+++ b/arch/powerpc/kernel/pci_64.c
@@ -507,17 +507,6 @@ int __devinit pcibios_map_io_space(struct pci_bus *bus)
507} 507}
508EXPORT_SYMBOL_GPL(pcibios_map_io_space); 508EXPORT_SYMBOL_GPL(pcibios_map_io_space);
509 509
510void __devinit pcibios_do_bus_setup(struct pci_bus *bus)
511{
512 struct pci_dev *dev;
513
514 if (ppc_md.pci_dma_bus_setup)
515 ppc_md.pci_dma_bus_setup(bus);
516
517 list_for_each_entry(dev, &bus->devices, bus_list)
518 pcibios_setup_new_device(dev);
519}
520
521unsigned long pci_address_to_pio(phys_addr_t address) 510unsigned long pci_address_to_pio(phys_addr_t address)
522{ 511{
523 struct pci_controller *hose, *tmp; 512 struct pci_controller *hose, *tmp;