aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/lemote/lm2e/irq.c
diff options
context:
space:
mode:
authorWu Zhangjin <wuzj@lemote.com>2009-07-02 11:23:03 -0400
committerRalf Baechle <ralf@linux-mips.org>2009-09-17 14:07:46 -0400
commit5e983ff654ca3df3007b5b558b5271bb4622afa4 (patch)
treef15edfeb1df8e0b1874adec3e09a4fc1c58d59f2 /arch/mips/lemote/lm2e/irq.c
parentbd92aa013e8fcd17328ec8e060477761cf3380d9 (diff)
MIPS: Loongson: clean up the coding style
With the help of script/checkpatch.pl, i have cleaned up the coding style. 1. remove un-needed header files and tune some comments. 2. remove some un-needed { } add a new header file loongson.h: 3. move some common header files to loongson.h 4. move some common extern declartions to loongson.h and this new header file is needed for future loongson2f support. Signed-off-by: Wu Zhangjin <wuzj@lemote.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/lemote/lm2e/irq.c')
-rw-r--r--arch/mips/lemote/lm2e/irq.c48
1 files changed, 7 insertions, 41 deletions
diff --git a/arch/mips/lemote/lm2e/irq.c b/arch/mips/lemote/lm2e/irq.c
index 1d0a09f3b832..fb7643a25618 100644
--- a/arch/mips/lemote/lm2e/irq.c
+++ b/arch/mips/lemote/lm2e/irq.c
@@ -6,35 +6,14 @@
6 * under the terms of the GNU General Public License as published by the 6 * under the terms of the GNU General Public License as published by the
7 * Free Software Foundation; either version 2 of the License, or (at your 7 * Free Software Foundation; either version 2 of the License, or (at your
8 * option) any later version. 8 * option) any later version.
9 *
10 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
11 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
12 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
13 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
14 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
15 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
16 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
17 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
18 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
19 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
20 *
21 * You should have received a copy of the GNU General Public License along
22 * with this program; if not, write to the Free Software Foundation, Inc.,
23 * 675 Mass Ave, Cambridge, MA 02139, USA.
24 *
25 */ 9 */
26#include <linux/delay.h> 10#include <linux/delay.h>
27#include <linux/io.h>
28#include <linux/init.h>
29#include <linux/interrupt.h> 11#include <linux/interrupt.h>
30#include <linux/irq.h>
31 12
32#include <asm/irq_cpu.h> 13#include <asm/irq_cpu.h>
33#include <asm/i8259.h> 14#include <asm/i8259.h>
34#include <asm/mipsregs.h>
35#include <asm/mips-boards/bonito64.h>
36
37 15
16#include <loongson.h>
38/* 17/*
39 * the first level int-handler will jump here if it is a bonito irq 18 * the first level int-handler will jump here if it is a bonito irq
40 */ 19 */
@@ -67,27 +46,24 @@ static void i8259_irqdispatch(void)
67 int irq; 46 int irq;
68 47
69 irq = i8259_irq(); 48 irq = i8259_irq();
70 if (irq >= 0) { 49 if (irq >= 0)
71 do_IRQ(irq); 50 do_IRQ(irq);
72 } else { 51 else
73 spurious_interrupt(); 52 spurious_interrupt();
74 }
75
76} 53}
77 54
78asmlinkage void plat_irq_dispatch(void) 55asmlinkage void plat_irq_dispatch(void)
79{ 56{
80 unsigned int pending = read_c0_cause() & read_c0_status() & ST0_IM; 57 unsigned int pending = read_c0_cause() & read_c0_status() & ST0_IM;
81 58
82 if (pending & CAUSEF_IP7) { 59 if (pending & CAUSEF_IP7)
83 do_IRQ(MIPS_CPU_IRQ_BASE + 7); 60 do_IRQ(MIPS_CPU_IRQ_BASE + 7);
84 } else if (pending & CAUSEF_IP5) { 61 else if (pending & CAUSEF_IP5)
85 i8259_irqdispatch(); 62 i8259_irqdispatch();
86 } else if (pending & CAUSEF_IP2) { 63 else if (pending & CAUSEF_IP2)
87 bonito_irqdispatch(); 64 bonito_irqdispatch();
88 } else { 65 else
89 spurious_interrupt(); 66 spurious_interrupt();
90 }
91} 67}
92 68
93static struct irqaction cascade_irqaction = { 69static struct irqaction cascade_irqaction = {
@@ -97,8 +73,6 @@ static struct irqaction cascade_irqaction = {
97 73
98void __init arch_init_irq(void) 74void __init arch_init_irq(void)
99{ 75{
100 extern void bonito_irq_init(void);
101
102 /* 76 /*
103 * Clear all of the interrupts while we change the able around a bit. 77 * Clear all of the interrupts while we change the able around a bit.
104 * int-handler is not on bootstrap 78 * int-handler is not on bootstrap
@@ -128,16 +102,8 @@ void __init arch_init_irq(void)
128 init_i8259_irqs(); 102 init_i8259_irqs();
129 bonito_irq_init(); 103 bonito_irq_init();
130 104
131 /*
132 printk("GPIODATA=%x, GPIOIE=%x\n", BONITO_GPIODATA, BONITO_GPIOIE);
133 printk("INTEN=%x, INTSET=%x, INTCLR=%x, INTISR=%x\n",
134 BONITO_INTEN, BONITO_INTENSET,
135 BONITO_INTENCLR, BONITO_INTISR);
136 */
137
138 /* bonito irq at IP2 */ 105 /* bonito irq at IP2 */
139 setup_irq(MIPS_CPU_IRQ_BASE + 2, &cascade_irqaction); 106 setup_irq(MIPS_CPU_IRQ_BASE + 2, &cascade_irqaction);
140 /* 8259 irq at IP5 */ 107 /* 8259 irq at IP5 */
141 setup_irq(MIPS_CPU_IRQ_BASE + 5, &cascade_irqaction); 108 setup_irq(MIPS_CPU_IRQ_BASE + 5, &cascade_irqaction);
142
143} 109}