Browse Source

ARM: mach-shmobile: Runtime PM late init callback

Add a mach-shmobile specific callback for SoC-specific code
to hook into. By having the late_initcall() in a common place
we can have multi-SoC/board support in the same kernel binary.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Magnus Damm 14 years ago
parent
commit
999a4d2a4d

+ 1 - 0
arch/arm/mach-shmobile/include/mach/common.h

@@ -12,6 +12,7 @@ extern struct platform_suspend_ops shmobile_suspend_ops;
 struct cpuidle_device;
 struct cpuidle_device;
 extern void (*shmobile_cpuidle_modes[])(void);
 extern void (*shmobile_cpuidle_modes[])(void);
 extern void (*shmobile_cpuidle_setup)(struct cpuidle_device *dev);
 extern void (*shmobile_cpuidle_setup)(struct cpuidle_device *dev);
+extern void (*shmobile_runtime_pm_late_init)(void);
 
 
 extern void sh7367_init_irq(void);
 extern void sh7367_init_irq(void);
 extern void sh7367_add_early_devices(void);
 extern void sh7367_add_early_devices(void);

+ 10 - 0
arch/arm/mach-shmobile/pm_runtime.c

@@ -56,3 +56,13 @@ static int __init sh_pm_runtime_init(void)
 	return 0;
 	return 0;
 }
 }
 core_initcall(sh_pm_runtime_init);
 core_initcall(sh_pm_runtime_init);
+
+void (*shmobile_runtime_pm_late_init)(void);
+
+static int __init sh_pm_runtime_late_init(void)
+{
+	if (shmobile_runtime_pm_late_init)
+		shmobile_runtime_pm_late_init();
+	return 0;
+}
+late_initcall(sh_pm_runtime_late_init);