]> git.openfabrics.org - ~shefty/rdma-dev.git/commitdiff
ARM: prima2: use machine specific hook for late init
authorShawn Guo <shawn.guo@linaro.org>
Thu, 26 Apr 2012 12:51:36 +0000 (20:51 +0800)
committerShawn Guo <shawn.guo@linaro.org>
Tue, 8 May 2012 12:36:22 +0000 (20:36 +0800)
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Barry Song <baohua.song@csr.com>
arch/arm/mach-prima2/common.h
arch/arm/mach-prima2/pm.c
arch/arm/mach-prima2/prima2.c

index b28a930d4f8ad0e0cf2f54deec014d4233d00a16..60d826fc2185143c5d0edfdef5fd08755ead758f 100644 (file)
@@ -24,4 +24,10 @@ static inline void sirfsoc_map_lluart(void)  {}
 extern void __init sirfsoc_map_lluart(void);
 #endif
 
+#ifdef CONFIG_SUSPEND
+extern int sirfsoc_pm_init(void);
+#else
+static inline int sirfsoc_pm_init(void) { return 0; }
+#endif
+
 #endif
index 26ebb57719df5d3fbf389e46cb723b92029b8191..fb5a7910af35b7a86534116f53b821aa2d36755c 100644 (file)
@@ -85,12 +85,11 @@ static const struct platform_suspend_ops sirfsoc_pm_ops = {
        .valid = suspend_valid_only_mem,
 };
 
-static int __init sirfsoc_pm_init(void)
+int __init sirfsoc_pm_init(void)
 {
        suspend_set_ops(&sirfsoc_pm_ops);
        return 0;
 }
-late_initcall(sirfsoc_pm_init);
 
 static const struct of_device_id pwrc_ids[] = {
        { .compatible = "sirf,prima2-pwrc" },
index 02b9c05ff9905b5ca94d1f5672709fe68d6b8c5c..8f0429d4b79f698d5c0e77117a75a3210f49c34b 100644 (file)
@@ -25,6 +25,11 @@ void __init sirfsoc_mach_init(void)
        of_platform_bus_probe(NULL, sirfsoc_of_bus_ids, NULL);
 }
 
+void __init sirfsoc_init_late(void)
+{
+       sirfsoc_pm_init();
+}
+
 static const char *prima2cb_dt_match[] __initdata = {
        "sirf,prima2-cb",
        NULL
@@ -39,6 +44,7 @@ MACHINE_START(PRIMA2_EVB, "prima2cb")
        .timer          = &sirfsoc_timer,
        .dma_zone_size  = SZ_256M,
        .init_machine   = sirfsoc_mach_init,
+       .init_late      = sirfsoc_init_late,
        .dt_compat      = prima2cb_dt_match,
        .restart        = sirfsoc_restart,
 MACHINE_END