powerpc/fsl-pci: Unify pci/pcie initialization code
We unified the Freescale pci/pcie initialization by changing the fsl_pci to a platform driver. In previous PCI code architecture the initialization routine is called at board_setup_arch stage. Now the initialization is done in probe function which is architectural better. Also It's convenient for adding PM support for PCI controller in later patch. Now we registered pci controllers as platform devices. So we combine two initialization code as one platform driver. Signed-off-by: Jia Hongtao <B38951@freescale.com> Signed-off-by: Li Yang <leoli@freescale.com> Signed-off-by: Chunhe Lan <Chunhe.Lan@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
This commit is contained in:
@@ -38,23 +38,16 @@
|
||||
static void __init
|
||||
sbc8641_setup_arch(void)
|
||||
{
|
||||
#ifdef CONFIG_PCI
|
||||
struct device_node *np;
|
||||
#endif
|
||||
|
||||
if (ppc_md.progress)
|
||||
ppc_md.progress("sbc8641_setup_arch()", 0);
|
||||
|
||||
#ifdef CONFIG_PCI
|
||||
for_each_compatible_node(np, "pci", "fsl,mpc8641-pcie")
|
||||
fsl_add_bridge(np, 0);
|
||||
#endif
|
||||
|
||||
printk("SBC8641 board from Wind River\n");
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
mpc86xx_smp_init();
|
||||
#endif
|
||||
|
||||
fsl_pci_assign_primary();
|
||||
}
|
||||
|
||||
|
||||
@@ -102,6 +95,7 @@ mpc86xx_time_init(void)
|
||||
static __initdata struct of_device_id of_bus_ids[] = {
|
||||
{ .compatible = "simple-bus", },
|
||||
{ .compatible = "gianfar", },
|
||||
{ .compatible = "fsl,mpc8641-pcie", },
|
||||
{},
|
||||
};
|
||||
|
||||
@@ -111,7 +105,7 @@ static int __init declare_of_platform_devices(void)
|
||||
|
||||
return 0;
|
||||
}
|
||||
machine_device_initcall(sbc8641, declare_of_platform_devices);
|
||||
machine_arch_initcall(sbc8641, declare_of_platform_devices);
|
||||
|
||||
define_machine(sbc8641) {
|
||||
.name = "SBC8641D",
|
||||
|
Reference in New Issue
Block a user