[MIPS] time: Use non-interrupt locks in GT641xx clockevent driver
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>
This commit is contained in:
parent
2c771a4c28
commit
c984c87826
1 changed files with 4 additions and 6 deletions
|
@ -49,10 +49,9 @@ int gt641xx_timer0_state(void)
|
||||||
static int gt641xx_timer0_set_next_event(unsigned long delta,
|
static int gt641xx_timer0_set_next_event(unsigned long delta,
|
||||||
struct clock_event_device *evt)
|
struct clock_event_device *evt)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
|
||||||
u32 ctrl;
|
u32 ctrl;
|
||||||
|
|
||||||
spin_lock_irqsave(>641xx_timer_lock, flags);
|
spin_lock(>641xx_timer_lock);
|
||||||
|
|
||||||
ctrl = GT_READ(GT_TC_CONTROL_OFS);
|
ctrl = GT_READ(GT_TC_CONTROL_OFS);
|
||||||
ctrl &= ~(GT_TC_CONTROL_ENTC0_MSK | GT_TC_CONTROL_SELTC0_MSK);
|
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_TC0_OFS, delta);
|
||||||
GT_WRITE(GT_TC_CONTROL_OFS, ctrl);
|
GT_WRITE(GT_TC_CONTROL_OFS, ctrl);
|
||||||
|
|
||||||
spin_unlock_irqrestore(>641xx_timer_lock, flags);
|
spin_unlock(>641xx_timer_lock);
|
||||||
|
|
||||||
return 0;
|
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,
|
static void gt641xx_timer0_set_mode(enum clock_event_mode mode,
|
||||||
struct clock_event_device *evt)
|
struct clock_event_device *evt)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
|
||||||
u32 ctrl;
|
u32 ctrl;
|
||||||
|
|
||||||
spin_lock_irqsave(>641xx_timer_lock, flags);
|
spin_lock(>641xx_timer_lock);
|
||||||
|
|
||||||
ctrl = GT_READ(GT_TC_CONTROL_OFS);
|
ctrl = GT_READ(GT_TC_CONTROL_OFS);
|
||||||
ctrl &= ~(GT_TC_CONTROL_ENTC0_MSK | GT_TC_CONTROL_SELTC0_MSK);
|
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);
|
GT_WRITE(GT_TC_CONTROL_OFS, ctrl);
|
||||||
|
|
||||||
spin_unlock_irqrestore(>641xx_timer_lock, flags);
|
spin_unlock(>641xx_timer_lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gt641xx_timer0_event_handler(struct clock_event_device *dev)
|
static void gt641xx_timer0_event_handler(struct clock_event_device *dev)
|
||||||
|
|
Loading…
Add table
Reference in a new issue