aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/irq-rm7000.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/kernel/irq-rm7000.c')
-rw-r--r--arch/mips/kernel/irq-rm7000.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/arch/mips/kernel/irq-rm7000.c b/arch/mips/kernel/irq-rm7000.c
index fb50cc78b28b..a8a8977d5887 100644
--- a/arch/mips/kernel/irq-rm7000.c
+++ b/arch/mips/kernel/irq-rm7000.c
@@ -11,29 +11,30 @@
11 */ 11 */
12#include <linux/init.h> 12#include <linux/init.h>
13#include <linux/interrupt.h> 13#include <linux/interrupt.h>
14#include <linux/irq.h>
14#include <linux/kernel.h> 15#include <linux/kernel.h>
15 16
16#include <asm/irq_cpu.h> 17#include <asm/irq_cpu.h>
17#include <asm/mipsregs.h> 18#include <asm/mipsregs.h>
18#include <asm/system.h> 19#include <asm/system.h>
19 20
20static inline void unmask_rm7k_irq(unsigned int irq) 21static inline void unmask_rm7k_irq(struct irq_data *d)
21{ 22{
22 set_c0_intcontrol(0x100 << (irq - RM7K_CPU_IRQ_BASE)); 23 set_c0_intcontrol(0x100 << (d->irq - RM7K_CPU_IRQ_BASE));
23} 24}
24 25
25static inline void mask_rm7k_irq(unsigned int irq) 26static inline void mask_rm7k_irq(struct irq_data *d)
26{ 27{
27 clear_c0_intcontrol(0x100 << (irq - RM7K_CPU_IRQ_BASE)); 28 clear_c0_intcontrol(0x100 << (d->irq - RM7K_CPU_IRQ_BASE));
28} 29}
29 30
30static struct irq_chip rm7k_irq_controller = { 31static struct irq_chip rm7k_irq_controller = {
31 .name = "RM7000", 32 .name = "RM7000",
32 .ack = mask_rm7k_irq, 33 .irq_ack = mask_rm7k_irq,
33 .mask = mask_rm7k_irq, 34 .irq_mask = mask_rm7k_irq,
34 .mask_ack = mask_rm7k_irq, 35 .irq_mask_ack = mask_rm7k_irq,
35 .unmask = unmask_rm7k_irq, 36 .irq_unmask = unmask_rm7k_irq,
36 .eoi = unmask_rm7k_irq 37 .irq_eoi = unmask_rm7k_irq
37}; 38};
38 39
39void __init rm7k_cpu_irq_init(void) 40void __init rm7k_cpu_irq_init(void)
@@ -44,6 +45,6 @@ void __init rm7k_cpu_irq_init(void)
44 clear_c0_intcontrol(0x00000f00); /* Mask all */ 45 clear_c0_intcontrol(0x00000f00); /* Mask all */
45 46
46 for (i = base; i < base + 4; i++) 47 for (i = base; i < base + 4; i++)
47 set_irq_chip_and_handler(i, &rm7k_irq_controller, 48 irq_set_chip_and_handler(i, &rm7k_irq_controller,
48 handle_percpu_irq); 49 handle_percpu_irq);
49} 50}