diff options
-rw-r--r-- | arch/sh/Kconfig | 3 | ||||
-rw-r--r-- | arch/sh/include/asm/processor.h | 1 | ||||
-rw-r--r-- | arch/sh/kernel/idle.c | 20 |
3 files changed, 0 insertions, 24 deletions
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index 244cfd0dbb7b..04a8cb4700af 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig | |||
@@ -153,9 +153,6 @@ config ARCH_NO_VIRT_TO_BUS | |||
153 | config ARCH_HAS_DEFAULT_IDLE | 153 | config ARCH_HAS_DEFAULT_IDLE |
154 | def_bool y | 154 | def_bool y |
155 | 155 | ||
156 | config ARCH_HAS_CPU_IDLE_WAIT | ||
157 | def_bool y | ||
158 | |||
159 | config NO_IOPORT | 156 | config NO_IOPORT |
160 | def_bool !PCI | 157 | def_bool !PCI |
161 | depends on !SH_CAYMAN && !SH_SH4202_MICRODEV && !SH_SHMIN | 158 | depends on !SH_CAYMAN && !SH_SH4202_MICRODEV && !SH_SHMIN |
diff --git a/arch/sh/include/asm/processor.h b/arch/sh/include/asm/processor.h index 6d87912415a7..6dbc1be28a0f 100644 --- a/arch/sh/include/asm/processor.h +++ b/arch/sh/include/asm/processor.h | |||
@@ -98,7 +98,6 @@ extern struct sh_cpuinfo cpu_data[]; | |||
98 | #define cpu_relax() barrier() | 98 | #define cpu_relax() barrier() |
99 | 99 | ||
100 | void default_idle(void); | 100 | void default_idle(void); |
101 | void cpu_idle_wait(void); | ||
102 | void stop_this_cpu(void *); | 101 | void stop_this_cpu(void *); |
103 | 102 | ||
104 | /* Forward decl */ | 103 | /* Forward decl */ |
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 | ||
135 | static void do_nothing(void *unused) | ||
136 | { | ||
137 | } | ||
138 | |||
139 | void stop_this_cpu(void *unused) | 135 | void 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 | */ | ||
156 | void 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 | } | ||
162 | EXPORT_SYMBOL_GPL(cpu_idle_wait); | ||