diff options
| author | Jesper Nilsson <jesper.nilsson@axis.com> | 2007-11-14 20:01:21 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-11-14 21:45:47 -0500 |
| commit | 3244c77bd3460e9701ffeecc2452d7f2ee17106c (patch) | |
| tree | 35202782ca702d9dc78f3120d65a8129f653412c | |
| parent | 1b8be1d82dd3b1ef32b15923123afa03bfeeb116 (diff) | |
CRISv10: fix timer interrupt parameters
Fix timer interrupt parameters for CRIS v10.
- irq_handler_t only takes two arguments, use get_irq_regs to get
regs for profiling.
- Call update_process_times.
- Remove CVS tag.
Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
Cc: Mikael Starvik <mikael.starvik@axis.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| -rw-r--r-- | arch/cris/arch-v10/kernel/time.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/arch/cris/arch-v10/kernel/time.c b/arch/cris/arch-v10/kernel/time.c index 575a14bb1106..5976f6199c47 100644 --- a/arch/cris/arch-v10/kernel/time.c +++ b/arch/cris/arch-v10/kernel/time.c | |||
| @@ -1,5 +1,4 @@ | |||
| 1 | /* $Id: time.c,v 1.5 2004/09/29 06:12:46 starvik Exp $ | 1 | /* |
| 2 | * | ||
| 3 | * linux/arch/cris/arch-v10/kernel/time.c | 2 | * linux/arch/cris/arch-v10/kernel/time.c |
| 4 | * | 3 | * |
| 5 | * Copyright (C) 1991, 1992, 1995 Linus Torvalds | 4 | * Copyright (C) 1991, 1992, 1995 Linus Torvalds |
| @@ -20,6 +19,7 @@ | |||
| 20 | #include <asm/io.h> | 19 | #include <asm/io.h> |
| 21 | #include <asm/delay.h> | 20 | #include <asm/delay.h> |
| 22 | #include <asm/rtc.h> | 21 | #include <asm/rtc.h> |
| 22 | #include <asm/irq_regs.h> | ||
| 23 | 23 | ||
| 24 | /* define this if you need to use print_timestamp */ | 24 | /* define this if you need to use print_timestamp */ |
| 25 | /* it will make jiffies at 96 hz instead of 100 hz though */ | 25 | /* it will make jiffies at 96 hz instead of 100 hz though */ |
| @@ -201,8 +201,9 @@ static long last_rtc_update = 0; | |||
| 201 | extern void cris_do_profile(struct pt_regs *regs); | 201 | extern void cris_do_profile(struct pt_regs *regs); |
| 202 | 202 | ||
| 203 | static inline irqreturn_t | 203 | static inline irqreturn_t |
| 204 | timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 204 | timer_interrupt(int irq, void *dev_id) |
| 205 | { | 205 | { |
| 206 | struct pt_regs *regs = get_irq_regs(); | ||
| 206 | /* acknowledge the timer irq */ | 207 | /* acknowledge the timer irq */ |
| 207 | 208 | ||
| 208 | #ifdef USE_CASCADE_TIMERS | 209 | #ifdef USE_CASCADE_TIMERS |
| @@ -221,9 +222,11 @@ timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
| 221 | #endif | 222 | #endif |
| 222 | 223 | ||
| 223 | /* reset watchdog otherwise it resets us! */ | 224 | /* reset watchdog otherwise it resets us! */ |
| 224 | |||
| 225 | reset_watchdog(); | 225 | reset_watchdog(); |
| 226 | 226 | ||
| 227 | /* Update statistics. */ | ||
| 228 | update_process_times(user_mode(regs)); | ||
| 229 | |||
| 227 | /* call the real timer interrupt handler */ | 230 | /* call the real timer interrupt handler */ |
| 228 | 231 | ||
| 229 | do_timer(1); | 232 | do_timer(1); |
