Commit 7fea1ba5 authored by Shawn Guo's avatar Shawn Guo

ARM: sa1100: use machine specific hook for late init

Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: default avatarShawn Guo <shawn.guo@linaro.org>
parent cc8f252b
...@@ -538,6 +538,7 @@ MACHINE_START(ASSABET, "Intel-Assabet") ...@@ -538,6 +538,7 @@ MACHINE_START(ASSABET, "Intel-Assabet")
.init_irq = sa1100_init_irq, .init_irq = sa1100_init_irq,
.timer = &sa1100_timer, .timer = &sa1100_timer,
.init_machine = assabet_init, .init_machine = assabet_init,
.init_late = sa11x0_init_late,
#ifdef CONFIG_SA1111 #ifdef CONFIG_SA1111
.dma_zone_size = SZ_1M, .dma_zone_size = SZ_1M,
#endif #endif
......
...@@ -305,6 +305,7 @@ MACHINE_START(BADGE4, "Hewlett-Packard Laboratories BadgePAD 4") ...@@ -305,6 +305,7 @@ MACHINE_START(BADGE4, "Hewlett-Packard Laboratories BadgePAD 4")
.map_io = badge4_map_io, .map_io = badge4_map_io,
.nr_irqs = SA1100_NR_IRQS, .nr_irqs = SA1100_NR_IRQS,
.init_irq = sa1100_init_irq, .init_irq = sa1100_init_irq,
.init_late = sa11x0_init_late,
.timer = &sa1100_timer, .timer = &sa1100_timer,
#ifdef CONFIG_SA1111 #ifdef CONFIG_SA1111
.dma_zone_size = SZ_1M, .dma_zone_size = SZ_1M,
......
...@@ -134,5 +134,6 @@ MACHINE_START(CERF, "Intrinsyc CerfBoard/CerfCube") ...@@ -134,5 +134,6 @@ MACHINE_START(CERF, "Intrinsyc CerfBoard/CerfCube")
.init_irq = cerf_init_irq, .init_irq = cerf_init_irq,
.timer = &sa1100_timer, .timer = &sa1100_timer,
.init_machine = cerf_init, .init_machine = cerf_init,
.init_late = sa11x0_init_late,
.restart = sa11x0_restart, .restart = sa11x0_restart,
MACHINE_END MACHINE_END
...@@ -401,5 +401,6 @@ MACHINE_START(COLLIE, "Sharp-Collie") ...@@ -401,5 +401,6 @@ MACHINE_START(COLLIE, "Sharp-Collie")
.init_irq = sa1100_init_irq, .init_irq = sa1100_init_irq,
.timer = &sa1100_timer, .timer = &sa1100_timer,
.init_machine = collie_init, .init_machine = collie_init,
.init_late = sa11x0_init_late,
.restart = sa11x0_restart, .restart = sa11x0_restart,
MACHINE_END MACHINE_END
...@@ -359,6 +359,10 @@ static int __init sa1100_init(void) ...@@ -359,6 +359,10 @@ static int __init sa1100_init(void)
arch_initcall(sa1100_init); arch_initcall(sa1100_init);
void __init sa11x0_init_late(void)
{
sa11x0_pm_init();
}
/* /*
* Common I/O mapping: * Common I/O mapping:
......
...@@ -11,6 +11,7 @@ extern void __init sa1100_map_io(void); ...@@ -11,6 +11,7 @@ extern void __init sa1100_map_io(void);
extern void __init sa1100_init_irq(void); extern void __init sa1100_init_irq(void);
extern void __init sa1100_init_gpio(void); extern void __init sa1100_init_gpio(void);
extern void sa11x0_restart(char, const char *); extern void sa11x0_restart(char, const char *);
extern void sa11x0_init_late(void);
#define SET_BANK(__nr,__start,__size) \ #define SET_BANK(__nr,__start,__size) \
mi->bank[__nr].start = (__start), \ mi->bank[__nr].start = (__start), \
...@@ -41,3 +42,9 @@ void sa11x0_register_mcp(struct mcp_plat_data *data); ...@@ -41,3 +42,9 @@ void sa11x0_register_mcp(struct mcp_plat_data *data);
struct sa1100fb_mach_info; struct sa1100fb_mach_info;
void sa11x0_register_lcd(struct sa1100fb_mach_info *inf); void sa11x0_register_lcd(struct sa1100fb_mach_info *inf);
#ifdef CONFIG_PM
int sa11x0_pm_init(void);
#else
static inline int sa11x0_pm_init(void) { return 0; }
#endif
...@@ -110,6 +110,7 @@ MACHINE_START(H3100, "Compaq iPAQ H3100") ...@@ -110,6 +110,7 @@ MACHINE_START(H3100, "Compaq iPAQ H3100")
.init_irq = sa1100_init_irq, .init_irq = sa1100_init_irq,
.timer = &sa1100_timer, .timer = &sa1100_timer,
.init_machine = h3100_mach_init, .init_machine = h3100_mach_init,
.init_late = sa11x0_init_late,
.restart = sa11x0_restart, .restart = sa11x0_restart,
MACHINE_END MACHINE_END
...@@ -160,6 +160,7 @@ MACHINE_START(H3600, "Compaq iPAQ H3600") ...@@ -160,6 +160,7 @@ MACHINE_START(H3600, "Compaq iPAQ H3600")
.init_irq = sa1100_init_irq, .init_irq = sa1100_init_irq,
.timer = &sa1100_timer, .timer = &sa1100_timer,
.init_machine = h3600_mach_init, .init_machine = h3600_mach_init,
.init_late = sa11x0_init_late,
.restart = sa11x0_restart, .restart = sa11x0_restart,
MACHINE_END MACHINE_END
...@@ -199,5 +199,6 @@ MACHINE_START(HACKKIT, "HackKit Cpu Board") ...@@ -199,5 +199,6 @@ MACHINE_START(HACKKIT, "HackKit Cpu Board")
.init_irq = sa1100_init_irq, .init_irq = sa1100_init_irq,
.timer = &sa1100_timer, .timer = &sa1100_timer,
.init_machine = hackkit_init, .init_machine = hackkit_init,
.init_late = sa11x0_init_late,
.restart = sa11x0_restart, .restart = sa11x0_restart,
MACHINE_END MACHINE_END
...@@ -348,6 +348,7 @@ MACHINE_START(JORNADA720, "HP Jornada 720") ...@@ -348,6 +348,7 @@ MACHINE_START(JORNADA720, "HP Jornada 720")
.init_irq = sa1100_init_irq, .init_irq = sa1100_init_irq,
.timer = &sa1100_timer, .timer = &sa1100_timer,
.init_machine = jornada720_mach_init, .init_machine = jornada720_mach_init,
.init_late = sa11x0_init_late,
#ifdef CONFIG_SA1111 #ifdef CONFIG_SA1111
.dma_zone_size = SZ_1M, .dma_zone_size = SZ_1M,
#endif #endif
......
...@@ -147,6 +147,7 @@ MACHINE_START(LART, "LART") ...@@ -147,6 +147,7 @@ MACHINE_START(LART, "LART")
.nr_irqs = SA1100_NR_IRQS, .nr_irqs = SA1100_NR_IRQS,
.init_irq = sa1100_init_irq, .init_irq = sa1100_init_irq,
.init_machine = lart_init, .init_machine = lart_init,
.init_late = sa11x0_init_late,
.timer = &sa1100_timer, .timer = &sa1100_timer,
.restart = sa11x0_restart, .restart = sa11x0_restart,
MACHINE_END MACHINE_END
...@@ -112,5 +112,6 @@ MACHINE_START(NANOENGINE, "BSE nanoEngine") ...@@ -112,5 +112,6 @@ MACHINE_START(NANOENGINE, "BSE nanoEngine")
.init_irq = sa1100_init_irq, .init_irq = sa1100_init_irq,
.timer = &sa1100_timer, .timer = &sa1100_timer,
.init_machine = nanoengine_init, .init_machine = nanoengine_init,
.init_late = sa11x0_init_late,
.restart = sa11x0_restart, .restart = sa11x0_restart,
MACHINE_END MACHINE_END
...@@ -135,5 +135,6 @@ MACHINE_START(PLEB, "PLEB") ...@@ -135,5 +135,6 @@ MACHINE_START(PLEB, "PLEB")
.init_irq = sa1100_init_irq, .init_irq = sa1100_init_irq,
.timer = &sa1100_timer, .timer = &sa1100_timer,
.init_machine = pleb_init, .init_machine = pleb_init,
.init_late = sa11x0_init_late,
.restart = sa11x0_restart, .restart = sa11x0_restart,
MACHINE_END MACHINE_END
...@@ -117,10 +117,8 @@ static const struct platform_suspend_ops sa11x0_pm_ops = { ...@@ -117,10 +117,8 @@ static const struct platform_suspend_ops sa11x0_pm_ops = {
.valid = suspend_valid_only_mem, .valid = suspend_valid_only_mem,
}; };
static int __init sa11x0_pm_init(void) int __init sa11x0_pm_init(void)
{ {
suspend_set_ops(&sa11x0_pm_ops); suspend_set_ops(&sa11x0_pm_ops);
return 0; return 0;
} }
late_initcall(sa11x0_pm_init);
...@@ -104,5 +104,6 @@ MACHINE_START(SHANNON, "Shannon (AKA: Tuxscreen)") ...@@ -104,5 +104,6 @@ MACHINE_START(SHANNON, "Shannon (AKA: Tuxscreen)")
.init_irq = sa1100_init_irq, .init_irq = sa1100_init_irq,
.timer = &sa1100_timer, .timer = &sa1100_timer,
.init_machine = shannon_init, .init_machine = shannon_init,
.init_late = sa11x0_init_late,
.restart = sa11x0_restart, .restart = sa11x0_restart,
MACHINE_END MACHINE_END
...@@ -395,6 +395,7 @@ MACHINE_START(SIMPAD, "Simpad") ...@@ -395,6 +395,7 @@ MACHINE_START(SIMPAD, "Simpad")
.map_io = simpad_map_io, .map_io = simpad_map_io,
.nr_irqs = SA1100_NR_IRQS, .nr_irqs = SA1100_NR_IRQS,
.init_irq = sa1100_init_irq, .init_irq = sa1100_init_irq,
.init_late = sa11x0_init_late,
.timer = &sa1100_timer, .timer = &sa1100_timer,
.restart = sa11x0_restart, .restart = sa11x0_restart,
MACHINE_END MACHINE_END
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment