diff options
author | Magnus Damm <damm@opensource.se> | 2011-07-10 04:38:34 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2011-07-10 04:38:34 -0400 |
commit | 999a4d2a4da0527567e4b17d4da0782509358a83 (patch) | |
tree | 39acdada163f111d6f41457dce08d834a650bef6 /arch/arm/mach-shmobile | |
parent | d24771dec9c62945a5d1c6a37e7a04f5c2a2ae6f (diff) |
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>
Diffstat (limited to 'arch/arm/mach-shmobile')
-rw-r--r-- | arch/arm/mach-shmobile/include/mach/common.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/pm_runtime.c | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/include/mach/common.h b/arch/arm/mach-shmobile/include/mach/common.h index 06aecb31d9c7..73a76d75ccbc 100644 --- a/arch/arm/mach-shmobile/include/mach/common.h +++ b/arch/arm/mach-shmobile/include/mach/common.h | |||
@@ -12,6 +12,7 @@ extern struct platform_suspend_ops shmobile_suspend_ops; | |||
12 | struct cpuidle_device; | 12 | struct cpuidle_device; |
13 | extern void (*shmobile_cpuidle_modes[])(void); | 13 | extern void (*shmobile_cpuidle_modes[])(void); |
14 | extern void (*shmobile_cpuidle_setup)(struct cpuidle_device *dev); | 14 | extern void (*shmobile_cpuidle_setup)(struct cpuidle_device *dev); |
15 | extern void (*shmobile_runtime_pm_late_init)(void); | ||
15 | 16 | ||
16 | extern void sh7367_init_irq(void); | 17 | extern void sh7367_init_irq(void); |
17 | extern void sh7367_add_early_devices(void); | 18 | extern void sh7367_add_early_devices(void); |
diff --git a/arch/arm/mach-shmobile/pm_runtime.c b/arch/arm/mach-shmobile/pm_runtime.c index 2bcde1c46a6b..2f6ded5712ee 100644 --- a/arch/arm/mach-shmobile/pm_runtime.c +++ b/arch/arm/mach-shmobile/pm_runtime.c | |||
@@ -56,3 +56,13 @@ static int __init sh_pm_runtime_init(void) | |||
56 | return 0; | 56 | return 0; |
57 | } | 57 | } |
58 | core_initcall(sh_pm_runtime_init); | 58 | core_initcall(sh_pm_runtime_init); |
59 | |||
60 | void (*shmobile_runtime_pm_late_init)(void); | ||
61 | |||
62 | static int __init sh_pm_runtime_late_init(void) | ||
63 | { | ||
64 | if (shmobile_runtime_pm_late_init) | ||
65 | shmobile_runtime_pm_late_init(); | ||
66 | return 0; | ||
67 | } | ||
68 | late_initcall(sh_pm_runtime_late_init); | ||