]> Pileus Git - ~andy/linux/commitdiff
cpuidle: Use kick_all_cpus_sync()
authorThomas Gleixner <tglx@linutronix.de>
Mon, 7 May 2012 17:59:48 +0000 (17:59 +0000)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 8 May 2012 10:35:06 +0000 (12:35 +0200)
kick_all_cpus_sync() is the core implementation of cpu_idle_wait()
which is copied all over the arch code.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20120507175652.119842173@linutronix.de
drivers/cpuidle/cpuidle.c

index 2f0083a51a9aeb5979e145eca98b686f4dd3c196..d90519cec8807da1952825da4e9b3dd9f540bad2 100644 (file)
@@ -40,17 +40,6 @@ void disable_cpuidle(void)
        off = 1;
 }
 
-#if defined(CONFIG_ARCH_HAS_CPU_IDLE_WAIT)
-static void cpuidle_kick_cpus(void)
-{
-       cpu_idle_wait();
-}
-#elif defined(CONFIG_SMP)
-# error "Arch needs cpu_idle_wait() equivalent here"
-#else /* !CONFIG_ARCH_HAS_CPU_IDLE_WAIT && !CONFIG_SMP */
-static void cpuidle_kick_cpus(void) {}
-#endif
-
 static int __cpuidle_register_device(struct cpuidle_device *dev);
 
 static inline int cpuidle_enter(struct cpuidle_device *dev,
@@ -186,7 +175,7 @@ void cpuidle_uninstall_idle_handler(void)
 {
        if (enabled_devices) {
                initialized = 0;
-               cpuidle_kick_cpus();
+               kick_all_cpus_sync();
        }
 }