summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/powermac/cpufreq_32.c
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2010-06-20 19:04:14 +0000
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2010-07-09 11:26:16 +1000
commitc1aa687d499a8bce55cb8cf962f0b72c0f933f14 (patch)
treed109be2df88ec056659b7ff4192bfa7e405ff9c4 /arch/powerpc/platforms/powermac/cpufreq_32.c
parent8fd63a9ea7528463211a6c88d500c51851d960c8 (diff)
downloadlinux-c1aa687d499a8bce55cb8cf962f0b72c0f933f14.tar.gz
linux-c1aa687d499a8bce55cb8cf962f0b72c0f933f14.tar.bz2
linux-c1aa687d499a8bce55cb8cf962f0b72c0f933f14.zip
powerpc: Clean up obsolete code relating to decrementer and timebase
Since the decrementer and timekeeping code was moved over to using the generic clockevents and timekeeping infrastructure, several variables and functions have been obsolete and effectively unused. This deletes them. In particular, wakeup_decrementer() is no longer needed since the generic code reprograms the decrementer as part of the process of resuming the timekeeping code, which happens during sysdev resume. Thus the wakeup_decrementer calls in the suspend_enter methods for 52xx platforms have been removed. The call in the powermac cpu frequency change code has been replaced by set_dec(1), which will cause a timer interrupt as soon as interrupts are enabled, and the generic code will then reprogram the decrementer with the correct value. This also simplifies the generic_suspend_en/disable_irqs functions and makes them static since they are not referenced outside time.c. The preempt_enable/disable calls are removed because the generic code has disabled all but the boot cpu at the point where these functions are called, so we can't be moved to another cpu. Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/platforms/powermac/cpufreq_32.c')
-rw-r--r--arch/powerpc/platforms/powermac/cpufreq_32.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/powerpc/platforms/powermac/cpufreq_32.c b/arch/powerpc/platforms/powermac/cpufreq_32.c
index 1e9eba175ff0..415ca6d6b273 100644
--- a/arch/powerpc/platforms/powermac/cpufreq_32.c
+++ b/arch/powerpc/platforms/powermac/cpufreq_32.c
@@ -310,8 +310,12 @@ static int pmu_set_cpu_speed(int low_speed)
/* Restore low level PMU operations */
pmu_unlock();
- /* Restore decrementer */
- wakeup_decrementer();
+ /*
+ * Restore decrementer; we'll take a decrementer interrupt
+ * as soon as interrupts are re-enabled and the generic
+ * clockevents code will reprogram it with the right value.
+ */
+ set_dec(1);
/* Restore interrupts */
mpic_cpu_set_priority(pic_prio);