From cb993029094ed61f286793819d3aaa1deea5b252 Mon Sep 17 00:00:00 2001 From: Stephen Rothwell Date: Fri, 7 Dec 2007 02:00:45 +1100 Subject: [PATCH] [POWERPC] iSeries: Call iSeries_pcibios_init from setup_arch Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras --- arch/powerpc/kernel/pci_64.c | 3 --- arch/powerpc/platforms/iseries/pci.h | 4 +++- arch/powerpc/platforms/iseries/setup.c | 2 ++ include/asm-powerpc/ppc-pci.h | 3 --- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c index 9f63bdcb0bdf..69364f3dc5c6 100644 --- a/arch/powerpc/kernel/pci_64.c +++ b/arch/powerpc/kernel/pci_64.c @@ -519,9 +519,6 @@ static int __init pcibios_init(void) */ ppc_md.phys_mem_access_prot = pci_phys_mem_access_prot; - if (firmware_has_feature(FW_FEATURE_ISERIES)) - iSeries_pcibios_init(); - printk(KERN_DEBUG "PCI: Probing PCI hardware\n"); /* Scan all of the recorded PCI controllers. */ diff --git a/arch/powerpc/platforms/iseries/pci.h b/arch/powerpc/platforms/iseries/pci.h index 3af9cf1c1d04..b14287342129 100644 --- a/arch/powerpc/platforms/iseries/pci.h +++ b/arch/powerpc/platforms/iseries/pci.h @@ -50,9 +50,11 @@ struct pci_dev; /* For Forward Reference */ extern void iSeries_Device_Information(struct pci_dev *PciDev, int count, u16 bus, HvSubBusNumber subbus); #ifdef CONFIG_PCI +extern void iSeries_pcibios_init(void); extern void iSeries_pci_final_fixup(void); #else -static void iSeries_pci_final_fixup(void) { } +static inline void iSeries_pcibios_init(void) { } +static inline void iSeries_pci_final_fixup(void) { } #endif #endif /* _PLATFORMS_ISERIES_PCI_H */ diff --git a/arch/powerpc/platforms/iseries/setup.c b/arch/powerpc/platforms/iseries/setup.c index 2175a71800d5..5616219a20d5 100644 --- a/arch/powerpc/platforms/iseries/setup.c +++ b/arch/powerpc/platforms/iseries/setup.c @@ -495,6 +495,8 @@ static void __init iSeries_setup_arch(void) itVpdAreas.xSlicMaxLogicalProcs); printk("Max physical processors = %d\n", itVpdAreas.xSlicMaxPhysicalProcs); + + iSeries_pcibios_init(); } static void iSeries_show_cpuinfo(struct seq_file *m) diff --git a/include/asm-powerpc/ppc-pci.h b/include/asm-powerpc/ppc-pci.h index fda5e3d1f62a..854ab713f56c 100644 --- a/include/asm-powerpc/ppc-pci.h +++ b/include/asm-powerpc/ppc-pci.h @@ -46,9 +46,6 @@ extern void init_pci_config_tokens (void); extern unsigned long get_phb_buid (struct device_node *); extern int rtas_setup_phb(struct pci_controller *phb); -/* From iSeries PCI */ -extern void iSeries_pcibios_init(void); - extern unsigned long pci_probe_only; /* ---- EEH internal-use-only related routines ---- */