frv: Switch do_timer() to xtime_update()
authorTorben Hohn <torbenh@gmx.de>
Thu, 27 Jan 2011 14:59:46 +0000 (15:59 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 31 Jan 2011 13:55:45 +0000 (14:55 +0100)
__set_LEDS() does not need to be protected by xtime_lock.
its used unprotected in other places.

[ tglx: Removed stale comment ]

Signed-off-by: Torben Hohn <torbenh@gmx.de>
Cc: hch@infradead.org
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: johnstul@us.ibm.com
Cc: David Howells <dhowells@redhat.com>
Cc: yong.zhang0@gmail.com
LKML-Reference: <20110127145946.23248.57952.stgit@localhost>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/frv/kernel/time.c

index 0ddbbae83cb2997e891999f7d3610d71e3b14a74..b457de496b7052272e54857b6687f15d190365ad 100644 (file)
@@ -50,21 +50,13 @@ static struct irqaction timer_irq  = {
 
 /*
  * 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
  */
 static irqreturn_t timer_interrupt(int irq, void *dummy)
 {
        profile_tick(CPU_PROFILING);
-       /*
-        * Here we are in the timer irq handler. We just have irqs locally
-        * disabled but we don't know if the timer_bh is running on the other
-        * CPU. We need to avoid to SMP race with it. NOTE: we don't need
-        * the irq version of write_lock because as just said we have irq
-        * locally disabled. -arca
-        */
-       write_seqlock(&xtime_lock);
 
-       do_timer(1);
+       xtime_update(1);
 
 #ifdef CONFIG_HEARTBEAT
        static unsigned short n;
@@ -72,8 +64,6 @@ static irqreturn_t timer_interrupt(int irq, void *dummy)
        __set_LEDS(n);
 #endif /* CONFIG_HEARTBEAT */
 
-       write_sequnlock(&xtime_lock);
-
        update_process_times(user_mode(get_irq_regs()));
 
        return IRQ_HANDLED;