diff options
Diffstat (limited to 'arch/mips/au1000/common/time.c')
-rw-r--r-- | arch/mips/au1000/common/time.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/arch/mips/au1000/common/time.c b/arch/mips/au1000/common/time.c index 0a067f3113a5..1989d56139c8 100644 --- a/arch/mips/au1000/common/time.c +++ b/arch/mips/au1000/common/time.c | |||
@@ -62,7 +62,7 @@ static unsigned int timerhi = 0, timerlo = 0; | |||
62 | #error "unsupported HZ value! Must be in [100,1000]" | 62 | #error "unsupported HZ value! Must be in [100,1000]" |
63 | #endif | 63 | #endif |
64 | #define MATCH20_INC (328*100/HZ) /* magic number 328 is for HZ=100... */ | 64 | #define MATCH20_INC (328*100/HZ) /* magic number 328 is for HZ=100... */ |
65 | extern void startup_match20_interrupt(irqreturn_t (*handler)(int, void *, struct pt_regs *)); | 65 | extern void startup_match20_interrupt(irqreturn_t (*handler)(int, void *)); |
66 | static unsigned long last_pc0, last_match20; | 66 | static unsigned long last_pc0, last_match20; |
67 | #endif | 67 | #endif |
68 | 68 | ||
@@ -79,7 +79,8 @@ static inline void ack_r4ktimer(unsigned long newval) | |||
79 | * is provably more robust. | 79 | * is provably more robust. |
80 | */ | 80 | */ |
81 | unsigned long wtimer; | 81 | unsigned long wtimer; |
82 | void mips_timer_interrupt(struct pt_regs *regs) | 82 | |
83 | void mips_timer_interrupt(void) | ||
83 | { | 84 | { |
84 | int irq = 63; | 85 | int irq = 63; |
85 | unsigned long count; | 86 | unsigned long count; |
@@ -98,7 +99,7 @@ void mips_timer_interrupt(struct pt_regs *regs) | |||
98 | kstat_this_cpu.irqs[irq]++; | 99 | kstat_this_cpu.irqs[irq]++; |
99 | do_timer(1); | 100 | do_timer(1); |
100 | #ifndef CONFIG_SMP | 101 | #ifndef CONFIG_SMP |
101 | update_process_times(user_mode(regs)); | 102 | update_process_times(user_mode(get_irq_regs())); |
102 | #endif | 103 | #endif |
103 | r4k_cur += r4k_offset; | 104 | r4k_cur += r4k_offset; |
104 | ack_r4ktimer(r4k_cur); | 105 | ack_r4ktimer(r4k_cur); |
@@ -115,7 +116,7 @@ null: | |||
115 | } | 116 | } |
116 | 117 | ||
117 | #ifdef CONFIG_PM | 118 | #ifdef CONFIG_PM |
118 | irqreturn_t counter0_irq(int irq, void *dev_id, struct pt_regs *regs) | 119 | irqreturn_t counter0_irq(int irq, void *dev_id) |
119 | { | 120 | { |
120 | unsigned long pc0; | 121 | unsigned long pc0; |
121 | int time_elapsed; | 122 | int time_elapsed; |
@@ -139,7 +140,7 @@ irqreturn_t counter0_irq(int irq, void *dev_id, struct pt_regs *regs) | |||
139 | while (time_elapsed > 0) { | 140 | while (time_elapsed > 0) { |
140 | do_timer(1); | 141 | do_timer(1); |
141 | #ifndef CONFIG_SMP | 142 | #ifndef CONFIG_SMP |
142 | update_process_times(user_mode(regs)); | 143 | update_process_times(user_mode(get_irq_regs())); |
143 | #endif | 144 | #endif |
144 | time_elapsed -= MATCH20_INC; | 145 | time_elapsed -= MATCH20_INC; |
145 | last_match20 += MATCH20_INC; | 146 | last_match20 += MATCH20_INC; |
@@ -158,7 +159,7 @@ irqreturn_t counter0_irq(int irq, void *dev_id, struct pt_regs *regs) | |||
158 | jiffie_drift -= 999; | 159 | jiffie_drift -= 999; |
159 | do_timer(1); /* increment jiffies by one */ | 160 | do_timer(1); /* increment jiffies by one */ |
160 | #ifndef CONFIG_SMP | 161 | #ifndef CONFIG_SMP |
161 | update_process_times(user_mode(regs)); | 162 | update_process_times(user_mode(get_irq_regs())); |
162 | #endif | 163 | #endif |
163 | } | 164 | } |
164 | 165 | ||