aboutsummaryrefslogtreecommitdiff
path: root/arch/sparc/kernel/time_32.c
diff options
context:
space:
mode:
authorTorben Hohn <[email protected]>2011-01-27 16:00:22 +0100
committerThomas Gleixner <[email protected]>2011-01-31 14:55:46 +0100
commit4ea1b72551d052a3993ef72ce06ecf5bdd125859 (patch)
tree7062b5bfde1c3a1d417d5e144964baa0fc76620c /arch/sparc/kernel/time_32.c
parentbb1dfc1cf6c51ca42f7c05029a6f06df9092a0fc (diff)
sparc: Switch do_timer() to xtime_update()
xtime_update() takes the xtime_lock itself. pcic_clear_clock_irq() and clear_clock_irq do not need to be protected by xtime_lock. Signed-off-by: Torben Hohn <[email protected]> Acked-by: David S. Miller <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] LKML-Reference: <20110127150022.23248.80369.stgit@localhost> Signed-off-by: Thomas Gleixner <[email protected]>
Diffstat (limited to 'arch/sparc/kernel/time_32.c')
-rw-r--r--arch/sparc/kernel/time_32.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/arch/sparc/kernel/time_32.c b/arch/sparc/kernel/time_32.c
index 9c743b1886ff..4211bfc9bcad 100644
--- a/arch/sparc/kernel/time_32.c
+++ b/arch/sparc/kernel/time_32.c
@@ -85,7 +85,7 @@ int update_persistent_clock(struct timespec now)
/*
* timer_interrupt() needs to keep up the real-time clock,
- * as well as call the "do_timer()" routine every clocktick
+ * as well as call the "xtime_update()" routine every clocktick
*/
#define TICK_SIZE (tick_nsec / 1000)
@@ -96,14 +96,9 @@ static irqreturn_t timer_interrupt(int dummy, void *dev_id)
profile_tick(CPU_PROFILING);
#endif
- /* Protect counter clear so that do_gettimeoffset works */
- write_seqlock(&xtime_lock);
-
clear_clock_irq();
- do_timer(1);
-
- write_sequnlock(&xtime_lock);
+ xtime_update(1);
#ifndef CONFIG_SMP
update_process_times(user_mode(get_irq_regs()));