aboutsummaryrefslogtreecommitdiff
path: root/arch/powerpc/kernel/time.c
diff options
context:
space:
mode:
authorJeff Garzik <jeff@garzik.org>2006-10-05 21:03:43 -0400
committerJeff Garzik <jeff@garzik.org>2006-10-05 21:03:43 -0400
commit4ad99f15c6a3cadf36928c399459ea4fdb3d49f9 (patch)
treed0536e4da737900fa27b235f175a3d179d692200 /arch/powerpc/kernel/time.c
parent46767aeba58ca9357a2309765201bad38d8f5e9b (diff)
parent44aefd2706bb6f5b65ba2c38cd89e7609e2b43d3 (diff)
Merge branch 'master' into upstream-fixes
Diffstat (limited to 'arch/powerpc/kernel/time.c')
-rw-r--r--arch/powerpc/kernel/time.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
index 85b9244a098..d210d0a5006 100644
--- a/arch/powerpc/kernel/time.c
+++ b/arch/powerpc/kernel/time.c
@@ -51,6 +51,7 @@
#include <linux/rtc.h>
#include <linux/jiffies.h>
#include <linux/posix-timers.h>
+#include <linux/irq.h>
#include <asm/io.h>
#include <asm/processor.h>
@@ -643,6 +644,7 @@ static void iSeries_tb_recal(void)
*/
void timer_interrupt(struct pt_regs * regs)
{
+ struct pt_regs *old_regs;
int next_dec;
int cpu = smp_processor_id();
unsigned long ticks;
@@ -653,9 +655,10 @@ void timer_interrupt(struct pt_regs * regs)
do_IRQ(regs);
#endif
+ old_regs = set_irq_regs(regs);
irq_enter();
- profile_tick(CPU_PROFILING, regs);
+ profile_tick(CPU_PROFILING);
calculate_steal_time();
#ifdef CONFIG_PPC_ISERIES
@@ -715,6 +718,7 @@ void timer_interrupt(struct pt_regs * regs)
#endif
irq_exit();
+ set_irq_regs(old_regs);
}
void wakeup_decrementer(void)