]> Pileus Git - ~andy/linux/commitdiff
powerpc/mpc5121: avoid using arch_initcall for clock init
authorAnatolij Gustschin <agust@denx.de>
Tue, 16 Feb 2010 17:35:13 +0000 (10:35 -0700)
committerGrant Likely <grant.likely@secretlab.ca>
Tue, 16 Feb 2010 17:35:13 +0000 (10:35 -0700)
Move mpc5121_clk_init() call to platform init code so it won't
get called on non-5121 platforms on a multiplatform kernel.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
arch/powerpc/platforms/512x/clock.c
arch/powerpc/platforms/512x/mpc5121_ads.c
arch/powerpc/platforms/512x/mpc5121_generic.c
arch/powerpc/platforms/512x/mpc512x.h
arch/powerpc/platforms/512x/mpc512x_shared.c

index 84544d0720431837aab591dce6cc5c13481d48a3..4c42246b86a7f1b95be762ed5a4b29b58674415f 100644 (file)
@@ -698,8 +698,7 @@ static struct clk_interface mpc5121_clk_functions = {
        .clk_get_parent         = NULL,
 };
 
-static int
-mpc5121_clk_init(void)
+int __init mpc5121_clk_init(void)
 {
        struct device_node *np;
 
@@ -724,6 +723,3 @@ mpc5121_clk_init(void)
        clk_functions = mpc5121_clk_functions;
        return 0;
 }
-
-
-arch_initcall(mpc5121_clk_init);
index 441abc488851c9f95bf6b674b7198041bf2cd79f..0f8f2e96ee55e9838de2cdb2abbcf5598bf0f5b3 100644 (file)
@@ -64,7 +64,7 @@ define_machine(mpc5121_ads) {
        .name                   = "MPC5121 ADS",
        .probe                  = mpc5121_ads_probe,
        .setup_arch             = mpc5121_ads_setup_arch,
-       .init                   = mpc512x_declare_of_platform_devices,
+       .init                   = mpc512x_init,
        .init_IRQ               = mpc5121_ads_init_IRQ,
        .get_irq                = ipic_get_irq,
        .calibrate_decr         = generic_calibrate_decr,
index 2479de9e2d12ac2f757312ca68220123d5e84b43..9b8c9b0bedfb320e0b1868fd70a343cd347483f2 100644 (file)
@@ -51,7 +51,7 @@ static int __init mpc5121_generic_probe(void)
 define_machine(mpc5121_generic) {
        .name                   = "MPC5121 generic",
        .probe                  = mpc5121_generic_probe,
-       .init                   = mpc512x_declare_of_platform_devices,
+       .init                   = mpc512x_init,
        .init_IRQ               = mpc512x_init_IRQ,
        .get_irq                = ipic_get_irq,
        .calibrate_decr         = generic_calibrate_decr,
index 22a5352407e0ae0c64ed5bd00177cc211156e792..ac3da1a0c4e57887ff4ec9332d54090c6812c99a 100644 (file)
@@ -12,5 +12,7 @@
 #ifndef __MPC512X_H__
 #define __MPC512X_H__
 extern void __init mpc512x_init_IRQ(void);
+extern void __init mpc512x_init(void);
+extern int __init mpc5121_clk_init(void);
 void __init mpc512x_declare_of_platform_devices(void);
 #endif                         /* __MPC512X_H__ */
index 434d683df5a0e927931660fb55a328ffc40301e4..b683165a24e2fa6cfdb7d967c20e1c91af2e97e1 100644 (file)
@@ -58,3 +58,8 @@ void __init mpc512x_declare_of_platform_devices(void)
                        "Error while probing of_platform bus\n");
 }
 
+void __init mpc512x_init(void)
+{
+       mpc512x_declare_of_platform_devices();
+       mpc5121_clk_init();
+}