1 /* 2 * arch/arm/mach-gemini/idle.c 3 */ 4 5 #include <linux/init.h> 6 #include <asm/system_misc.h> 7 #include <asm/proc-fns.h> 8 gemini_idle(void)9static void gemini_idle(void) 10 { 11 /* 12 * Because of broken hardware we have to enable interrupts or the CPU 13 * will never wakeup... Acctualy it is not very good to enable 14 * interrupts first since scheduler can miss a tick, but there is 15 * no other way around this. Platforms that needs it for power saving 16 * should enable it in init code, since by default it is 17 * disabled. 18 */ 19 20 /* FIXME: Enabling interrupts here is racy! */ 21 local_irq_enable(); 22 cpu_do_idle(); 23 } 24 gemini_idle_init(void)25static int __init gemini_idle_init(void) 26 { 27 arm_pm_idle = gemini_idle; 28 return 0; 29 } 30 31 arch_initcall(gemini_idle_init); 32