aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/idle.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sh/kernel/idle.c')
-rw-r--r--arch/sh/kernel/idle.c20
1 files changed, 0 insertions, 20 deletions
diff --git a/arch/sh/kernel/idle.c b/arch/sh/kernel/idle.c
index ee226e20c20c..0c910163caa3 100644
--- a/arch/sh/kernel/idle.c
+++ b/arch/sh/kernel/idle.c
@@ -132,10 +132,6 @@ void __init select_idle_routine(void)
132 pm_idle = poll_idle; 132 pm_idle = poll_idle;
133} 133}
134 134
135static void do_nothing(void *unused)
136{
137}
138
139void stop_this_cpu(void *unused) 135void stop_this_cpu(void *unused)
140{ 136{
141 local_irq_disable(); 137 local_irq_disable();
@@ -144,19 +140,3 @@ void stop_this_cpu(void *unused)
144 for (;;) 140 for (;;)
145 cpu_sleep(); 141 cpu_sleep();
146} 142}
147
148/*
149 * cpu_idle_wait - Used to ensure that all the CPUs discard old value of
150 * pm_idle and update to new pm_idle value. Required while changing pm_idle
151 * handler on SMP systems.
152 *
153 * Caller must have changed pm_idle to the new value before the call. Old
154 * pm_idle value will not be used by any CPU after the return of this function.
155 */
156void cpu_idle_wait(void)
157{
158 smp_mb();
159 /* kick all the CPUs so that they exit out of pm_idle */
160 smp_call_function(do_nothing, NULL, 1);
161}
162EXPORT_SYMBOL_GPL(cpu_idle_wait);