[POWERPC] iSeries: Call iSeries_pcibios_init from setup_arch
authorStephen Rothwell <sfr@canb.auug.org.au>
Thu, 6 Dec 2007 15:00:45 +0000 (02:00 +1100)
committerPaul Mackerras <paulus@samba.org>
Tue, 11 Dec 2007 02:42:32 +0000 (13:42 +1100)
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/kernel/pci_64.c
arch/powerpc/platforms/iseries/pci.h
arch/powerpc/platforms/iseries/setup.c
include/asm-powerpc/ppc-pci.h

index 9f63bdc..69364f3 100644 (file)
@@ -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.  */
index 3af9cf1..b142873 100644 (file)
@@ -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 */
index 2175a71..5616219 100644 (file)
@@ -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)
index fda5e3d..854ab71 100644 (file)
@@ -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 ---- */