diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2007-05-06 13:31:18 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2007-05-11 09:28:30 -0400 |
commit | ef300e42234eac066b193c871714203d999b481c (patch) | |
tree | 2dddd78a2a0a773ec4e8780343097db527decaff | |
parent | 856a514b408fd1b147bf95916811980982fa40d0 (diff) |
[MIPS] Define and use vi_handler_t for vectored interrupt handlers.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r-- | arch/mips/kernel/traps.c | 4 | ||||
-rw-r--r-- | include/asm-mips/system.h | 5 |
2 files changed, 6 insertions, 3 deletions
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c index b511ed3091c5..200de027f354 100644 --- a/arch/mips/kernel/traps.c +++ b/arch/mips/kernel/traps.c | |||
@@ -1128,7 +1128,7 @@ void mips_srs_free(int set) | |||
1128 | clear_bit(set, &sr->sr_allocated); | 1128 | clear_bit(set, &sr->sr_allocated); |
1129 | } | 1129 | } |
1130 | 1130 | ||
1131 | static void *set_vi_srs_handler(int n, void *addr, int srs) | 1131 | static void *set_vi_srs_handler(int n, vi_handler_t addr, int srs) |
1132 | { | 1132 | { |
1133 | unsigned long handler; | 1133 | unsigned long handler; |
1134 | unsigned long old_handler = vi_handlers[n]; | 1134 | unsigned long old_handler = vi_handlers[n]; |
@@ -1217,7 +1217,7 @@ static void *set_vi_srs_handler(int n, void *addr, int srs) | |||
1217 | return (void *)old_handler; | 1217 | return (void *)old_handler; |
1218 | } | 1218 | } |
1219 | 1219 | ||
1220 | void *set_vi_handler(int n, void *addr) | 1220 | void *set_vi_handler(int n, vi_handler_t addr) |
1221 | { | 1221 | { |
1222 | return set_vi_srs_handler(n, addr, 0); | 1222 | return set_vi_srs_handler(n, addr, 0); |
1223 | } | 1223 | } |
diff --git a/include/asm-mips/system.h b/include/asm-mips/system.h index 3713d256d369..bb0b289dbc9e 100644 --- a/include/asm-mips/system.h +++ b/include/asm-mips/system.h | |||
@@ -464,7 +464,10 @@ static inline unsigned long __cmpxchg_local(volatile void * ptr, | |||
464 | 464 | ||
465 | extern void set_handler (unsigned long offset, void *addr, unsigned long len); | 465 | extern void set_handler (unsigned long offset, void *addr, unsigned long len); |
466 | extern void set_uncached_handler (unsigned long offset, void *addr, unsigned long len); | 466 | extern void set_uncached_handler (unsigned long offset, void *addr, unsigned long len); |
467 | extern void *set_vi_handler (int n, void *addr); | 467 | |
468 | typedef void (*vi_handler_t)(void); | ||
469 | extern void *set_vi_handler (int n, vi_handler_t addr); | ||
470 | |||
468 | extern void *set_except_vector(int n, void *addr); | 471 | extern void *set_except_vector(int n, void *addr); |
469 | extern unsigned long ebase; | 472 | extern unsigned long ebase; |
470 | extern void per_cpu_trap_init(void); | 473 | extern void per_cpu_trap_init(void); |