aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorShawn Guo <shawn.guo@linaro.org>2012-04-26 08:40:32 -0400
committerShawn Guo <shawn.guo@linaro.org>2012-05-08 08:36:21 -0400
commitcafa61907cb0aabbedf3c248f197130dc5332147 (patch)
tree308fc3efc6ce7b27d4934a119db378e0d51cea3d /arch
parentbbd707acee279a61177a604822db92e8164d00db (diff)
ARM: pnx4008: use machine specific hook for late init
Cc: Russell King <linux@arm.linux.org.uk> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-pnx4008/core.c12
-rw-r--r--arch/arm/mach-pnx4008/pm.c4
2 files changed, 13 insertions, 3 deletions
diff --git a/arch/arm/mach-pnx4008/core.c b/arch/arm/mach-pnx4008/core.c
index be4c92858509..a00d2f1254ed 100644
--- a/arch/arm/mach-pnx4008/core.c
+++ b/arch/arm/mach-pnx4008/core.c
@@ -265,6 +265,17 @@ static void pnx4008_restart(char mode, const char *cmd)
265 soft_restart(0); 265 soft_restart(0);
266} 266}
267 267
268#ifdef CONFIG_PM
269extern int pnx4008_pm_init(void);
270#else
271static inline int pnx4008_pm_init(void) { return 0; }
272#endif
273
274void __init pnx4008_init_late(void)
275{
276 pnx4008_pm_init();
277}
278
268extern struct sys_timer pnx4008_timer; 279extern struct sys_timer pnx4008_timer;
269 280
270MACHINE_START(PNX4008, "Philips PNX4008") 281MACHINE_START(PNX4008, "Philips PNX4008")
@@ -273,6 +284,7 @@ MACHINE_START(PNX4008, "Philips PNX4008")
273 .map_io = pnx4008_map_io, 284 .map_io = pnx4008_map_io,
274 .init_irq = pnx4008_init_irq, 285 .init_irq = pnx4008_init_irq,
275 .init_machine = pnx4008_init, 286 .init_machine = pnx4008_init,
287 .init_late = pnx4008_init_late,
276 .timer = &pnx4008_timer, 288 .timer = &pnx4008_timer,
277 .restart = pnx4008_restart, 289 .restart = pnx4008_restart,
278MACHINE_END 290MACHINE_END
diff --git a/arch/arm/mach-pnx4008/pm.c b/arch/arm/mach-pnx4008/pm.c
index f3e60a049f98..26f8d06b142a 100644
--- a/arch/arm/mach-pnx4008/pm.c
+++ b/arch/arm/mach-pnx4008/pm.c
@@ -124,7 +124,7 @@ static const struct platform_suspend_ops pnx4008_pm_ops = {
124 .valid = pnx4008_pm_valid, 124 .valid = pnx4008_pm_valid,
125}; 125};
126 126
127static int __init pnx4008_pm_init(void) 127int __init pnx4008_pm_init(void)
128{ 128{
129 u32 sram_size_to_allocate; 129 u32 sram_size_to_allocate;
130 130
@@ -151,5 +151,3 @@ static int __init pnx4008_pm_init(void)
151 suspend_set_ops(&pnx4008_pm_ops); 151 suspend_set_ops(&pnx4008_pm_ops);
152 return 0; 152 return 0;
153} 153}
154
155late_initcall(pnx4008_pm_init);