aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/timers/timer-cmt.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sh/kernel/timers/timer-cmt.c')
-rw-r--r--arch/sh/kernel/timers/timer-cmt.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/arch/sh/kernel/timers/timer-cmt.c b/arch/sh/kernel/timers/timer-cmt.c
index 24b03996da51..95581dccbbfd 100644
--- a/arch/sh/kernel/timers/timer-cmt.c
+++ b/arch/sh/kernel/timers/timer-cmt.c
@@ -11,7 +11,6 @@
11#include <linux/init.h> 11#include <linux/init.h>
12#include <linux/kernel.h> 12#include <linux/kernel.h>
13#include <linux/interrupt.h> 13#include <linux/interrupt.h>
14#include <linux/spinlock.h>
15#include <linux/seqlock.h> 14#include <linux/seqlock.h>
16#include <asm/timer.h> 15#include <asm/timer.h>
17#include <asm/rtc.h> 16#include <asm/rtc.h>
@@ -46,13 +45,9 @@
46#error "Unknown CPU SUBTYPE" 45#error "Unknown CPU SUBTYPE"
47#endif 46#endif
48 47
49static DEFINE_SPINLOCK(cmt0_lock);
50
51static unsigned long cmt_timer_get_offset(void) 48static unsigned long cmt_timer_get_offset(void)
52{ 49{
53 int count; 50 int count;
54 unsigned long flags;
55
56 static unsigned short count_p = 0xffff; /* for the first call after boot */ 51 static unsigned short count_p = 0xffff; /* for the first call after boot */
57 static unsigned long jiffies_p = 0; 52 static unsigned long jiffies_p = 0;
58 53
@@ -61,7 +56,6 @@ static unsigned long cmt_timer_get_offset(void)
61 */ 56 */
62 unsigned long jiffies_t; 57 unsigned long jiffies_t;
63 58
64 spin_lock_irqsave(&cmt0_lock, flags);
65 /* timer count may underflow right here */ 59 /* timer count may underflow right here */
66 count = ctrl_inw(CMT_CMCOR_0); 60 count = ctrl_inw(CMT_CMCOR_0);
67 count -= ctrl_inw(CMT_CMCNT_0); 61 count -= ctrl_inw(CMT_CMCNT_0);
@@ -88,7 +82,6 @@ static unsigned long cmt_timer_get_offset(void)
88 jiffies_p = jiffies_t; 82 jiffies_p = jiffies_t;
89 83
90 count_p = count; 84 count_p = count;
91 spin_unlock_irqrestore(&cmt0_lock, flags);
92 85
93 count = ((LATCH-1) - count) * TICK_SIZE; 86 count = ((LATCH-1) - count) * TICK_SIZE;
94 count = (count + LATCH/2) / LATCH; 87 count = (count + LATCH/2) / LATCH;
@@ -122,7 +115,7 @@ static irqreturn_t cmt_timer_interrupt(int irq, void *dev_id)
122static struct irqaction cmt_irq = { 115static struct irqaction cmt_irq = {
123 .name = "timer", 116 .name = "timer",
124 .handler = cmt_timer_interrupt, 117 .handler = cmt_timer_interrupt,
125 .flags = IRQF_DISABLED, 118 .flags = IRQF_DISABLED | IRQF_TIMER,
126 .mask = CPU_MASK_NONE, 119 .mask = CPU_MASK_NONE,
127}; 120};
128 121