]> err.no Git - linux-2.6/commitdiff
[MIPS] time: Use non-interrupt locks in GT641xx clockevent driver
authorYoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Tue, 23 Oct 2007 09:19:13 +0000 (18:19 +0900)
committerRalf Baechle <ralf@linux-mips.org>
Mon, 29 Oct 2007 19:35:33 +0000 (19:35 +0000)
set_next_event() and set_mode() are always called with interrupt disabled.
irqsave and irqrestore are not necessary for spinlock.
Pointed out by Atsushi Nemoto.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kernel/cevt-gt641xx.c

index 4c651b2680f975dd77749c8fb3f5399dece61537..155ef81ec2166a075057bc921fd79d3a3f6c553f 100644 (file)
@@ -49,10 +49,9 @@ int gt641xx_timer0_state(void)
 static int gt641xx_timer0_set_next_event(unsigned long delta,
                                         struct clock_event_device *evt)
 {
-       unsigned long flags;
        u32 ctrl;
 
-       spin_lock_irqsave(&gt641xx_timer_lock, flags);
+       spin_lock(&gt641xx_timer_lock);
 
        ctrl = GT_READ(GT_TC_CONTROL_OFS);
        ctrl &= ~(GT_TC_CONTROL_ENTC0_MSK | GT_TC_CONTROL_SELTC0_MSK);
@@ -61,7 +60,7 @@ static int gt641xx_timer0_set_next_event(unsigned long delta,
        GT_WRITE(GT_TC0_OFS, delta);
        GT_WRITE(GT_TC_CONTROL_OFS, ctrl);
 
-       spin_unlock_irqrestore(&gt641xx_timer_lock, flags);
+       spin_unlock(&gt641xx_timer_lock);
 
        return 0;
 }
@@ -69,10 +68,9 @@ static int gt641xx_timer0_set_next_event(unsigned long delta,
 static void gt641xx_timer0_set_mode(enum clock_event_mode mode,
                                    struct clock_event_device *evt)
 {
-       unsigned long flags;
        u32 ctrl;
 
-       spin_lock_irqsave(&gt641xx_timer_lock, flags);
+       spin_lock(&gt641xx_timer_lock);
 
        ctrl = GT_READ(GT_TC_CONTROL_OFS);
        ctrl &= ~(GT_TC_CONTROL_ENTC0_MSK | GT_TC_CONTROL_SELTC0_MSK);
@@ -90,7 +88,7 @@ static void gt641xx_timer0_set_mode(enum clock_event_mode mode,
 
        GT_WRITE(GT_TC_CONTROL_OFS, ctrl);
 
-       spin_unlock_irqrestore(&gt641xx_timer_lock, flags);
+       spin_unlock(&gt641xx_timer_lock);
 }
 
 static void gt641xx_timer0_event_handler(struct clock_event_device *dev)