aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/asm-mips/irq.h8
-rw-r--r--include/asm-mips/irq_regs.h22
-rw-r--r--include/asm-mips/jmr3927/irq.h4
-rw-r--r--include/asm-mips/mach-au1x00/au1000_dma.h3
-rw-r--r--include/asm-mips/marvell.h2
-rw-r--r--include/asm-mips/msc01_ic.h2
-rw-r--r--include/asm-mips/thread_info.h1
-rw-r--r--include/asm-mips/time.h4
8 files changed, 31 insertions, 15 deletions
diff --git a/include/asm-mips/irq.h b/include/asm-mips/irq.h
index d35c61776a0..1a9804c6536 100644
--- a/include/asm-mips/irq.h
+++ b/include/asm-mips/irq.h
@@ -26,7 +26,7 @@ static inline int irq_canonicalize(int irq)
26 26
27struct pt_regs; 27struct pt_regs;
28 28
29extern asmlinkage unsigned int do_IRQ(unsigned int irq, struct pt_regs *regs); 29extern asmlinkage unsigned int do_IRQ(unsigned int irq);
30 30
31#ifdef CONFIG_MIPS_MT_SMTC 31#ifdef CONFIG_MIPS_MT_SMTC
32/* 32/*
@@ -55,18 +55,18 @@ do { \
55 * Ideally there should be away to get this into kernel/irq/handle.c to 55 * Ideally there should be away to get this into kernel/irq/handle.c to
56 * avoid the overhead of a call for just a tiny function ... 56 * avoid the overhead of a call for just a tiny function ...
57 */ 57 */
58#define do_IRQ(irq, regs) \ 58#define do_IRQ(irq) \
59do { \ 59do { \
60 irq_enter(); \ 60 irq_enter(); \
61 __DO_IRQ_SMTC_HOOK(); \ 61 __DO_IRQ_SMTC_HOOK(); \
62 __do_IRQ((irq), (regs)); \ 62 __do_IRQ((irq)); \
63 irq_exit(); \ 63 irq_exit(); \
64} while (0) 64} while (0)
65 65
66#endif 66#endif
67 67
68extern void arch_init_irq(void); 68extern void arch_init_irq(void);
69extern void spurious_interrupt(struct pt_regs *regs); 69extern void spurious_interrupt(void);
70 70
71#ifdef CONFIG_MIPS_MT_SMTC 71#ifdef CONFIG_MIPS_MT_SMTC
72struct irqaction; 72struct irqaction;
diff --git a/include/asm-mips/irq_regs.h b/include/asm-mips/irq_regs.h
index 3dd9c0b7027..33bd2a06de5 100644
--- a/include/asm-mips/irq_regs.h
+++ b/include/asm-mips/irq_regs.h
@@ -1 +1,21 @@
1#include <asm-generic/irq_regs.h> 1/*
2 * This program is free software; you can redistribute it and/or
3 * modify it under the terms of the GNU General Public License
4 * as published by the Free Software Foundation; either version
5 * 2 of the License, or (at your option) any later version.
6 *
7 * Copyright (C) 2006 Ralf Baechle (ralf@linux-mips.org)
8 */
9#ifndef __ASM_IRQ_REGS_H
10#define __ASM_IRQ_REGS_H
11
12#define ARCH_HAS_OWN_IRQ_REGS
13
14#include <linux/thread_info.h>
15
16static inline struct pt_regs *get_irq_regs(void)
17{
18 return current_thread_info()->regs;
19}
20
21#endif /* __ASM_IRQ_REGS_H */
diff --git a/include/asm-mips/jmr3927/irq.h b/include/asm-mips/jmr3927/irq.h
index fe551f33a74..e3e7ed38da6 100644
--- a/include/asm-mips/jmr3927/irq.h
+++ b/include/asm-mips/jmr3927/irq.h
@@ -45,10 +45,6 @@ extern int
45toshibaboards_setup_irq(int irq, struct irqaction * new); 45toshibaboards_setup_irq(int irq, struct irqaction * new);
46 46
47 47
48#ifdef CONFIG_TX_BRANCH_LIKELY_BUG_WORKAROUND
49extern void tx_branch_likely_bug_fixup(struct pt_regs *regs);
50#endif
51
52extern int (*toshibaboards_gen_iack)(void); 48extern int (*toshibaboards_gen_iack)(void);
53 49
54#endif /* !__ASSEMBLY__ */ 50#endif /* !__ASSEMBLY__ */
diff --git a/include/asm-mips/mach-au1x00/au1000_dma.h b/include/asm-mips/mach-au1x00/au1000_dma.h
index 810f2fa3344..0493cb0d617 100644
--- a/include/asm-mips/mach-au1x00/au1000_dma.h
+++ b/include/asm-mips/mach-au1x00/au1000_dma.h
@@ -123,8 +123,7 @@ struct dma_chan {
123extern struct dma_chan au1000_dma_table[]; 123extern struct dma_chan au1000_dma_table[];
124extern int request_au1000_dma(int dev_id, 124extern int request_au1000_dma(int dev_id,
125 const char *dev_str, 125 const char *dev_str,
126 irqreturn_t (*irqhandler)(int, void *, 126 irqreturn_t (*irqhandler)(int, void *),
127 struct pt_regs *),
128 unsigned long irqflags, 127 unsigned long irqflags,
129 void *irq_dev_id); 128 void *irq_dev_id);
130extern void free_au1000_dma(unsigned int dmanr); 129extern void free_au1000_dma(unsigned int dmanr);
diff --git a/include/asm-mips/marvell.h b/include/asm-mips/marvell.h
index 6bb2125bb05..df94955b098 100644
--- a/include/asm-mips/marvell.h
+++ b/include/asm-mips/marvell.h
@@ -53,6 +53,6 @@ struct mv_pci_controller {
53 unsigned long config_vreg; 53 unsigned long config_vreg;
54}; 54};
55 55
56extern void ll_mv64340_irq(struct pt_regs *regs); 56extern void ll_mv64340_irq(void);
57 57
58#endif /* __ASM_MIPS_MARVELL_H */ 58#endif /* __ASM_MIPS_MARVELL_H */
diff --git a/include/asm-mips/msc01_ic.h b/include/asm-mips/msc01_ic.h
index 64f17208d60..aa7ad9a7176 100644
--- a/include/asm-mips/msc01_ic.h
+++ b/include/asm-mips/msc01_ic.h
@@ -145,7 +145,7 @@ typedef struct msc_irqmap {
145#define MSC01_IRQ_EDGE 1 145#define MSC01_IRQ_EDGE 1
146 146
147extern void __init init_msc_irqs(unsigned int base, msc_irqmap_t *imp, int nirq); 147extern void __init init_msc_irqs(unsigned int base, msc_irqmap_t *imp, int nirq);
148extern void ll_msc_irq(struct pt_regs *regs); 148extern void ll_msc_irq(void);
149 149
150#endif /* __ASM_MIPS_BOARDS_MSC01_IC_H */ 150#endif /* __ASM_MIPS_BOARDS_MSC01_IC_H */
151 151
diff --git a/include/asm-mips/thread_info.h b/include/asm-mips/thread_info.h
index ae8ada5b42a..e475c45ea26 100644
--- a/include/asm-mips/thread_info.h
+++ b/include/asm-mips/thread_info.h
@@ -34,6 +34,7 @@ struct thread_info {
34 0-0xFFFFFFFF for kernel-thread 34 0-0xFFFFFFFF for kernel-thread
35 */ 35 */
36 struct restart_block restart_block; 36 struct restart_block restart_block;
37 struct pt_regs *regs;
37}; 38};
38 39
39/* 40/*
diff --git a/include/asm-mips/time.h b/include/asm-mips/time.h
index 30f21df3925..28512ba2266 100644
--- a/include/asm-mips/time.h
+++ b/include/asm-mips/time.h
@@ -72,13 +72,13 @@ extern irqreturn_t timer_interrupt(int irq, void *dev_id);
72/* 72/*
73 * the corresponding low-level timer interrupt routine. 73 * the corresponding low-level timer interrupt routine.
74 */ 74 */
75extern asmlinkage void ll_timer_interrupt(int irq, struct pt_regs *regs); 75extern asmlinkage void ll_timer_interrupt(int irq);
76 76
77/* 77/*
78 * profiling and process accouting is done separately in local_timer_interrupt 78 * profiling and process accouting is done separately in local_timer_interrupt
79 */ 79 */
80extern void local_timer_interrupt(int irq, void *dev_id); 80extern void local_timer_interrupt(int irq, void *dev_id);
81extern asmlinkage void ll_local_timer_interrupt(int irq, struct pt_regs *regs); 81extern asmlinkage void ll_local_timer_interrupt(int irq);
82 82
83/* 83/*
84 * board specific routines required by time_init(). 84 * board specific routines required by time_init().