diff options
Diffstat (limited to 'arch/mips/jazz/irq.c')
-rw-r--r-- | arch/mips/jazz/irq.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/arch/mips/jazz/irq.c b/arch/mips/jazz/irq.c index ee18028efe92..260df4750949 100644 --- a/arch/mips/jazz/irq.c +++ b/arch/mips/jazz/irq.c | |||
@@ -12,6 +12,7 @@ | |||
12 | #include <linux/kernel.h> | 12 | #include <linux/kernel.h> |
13 | #include <linux/smp.h> | 13 | #include <linux/smp.h> |
14 | #include <linux/spinlock.h> | 14 | #include <linux/spinlock.h> |
15 | #include <linux/irq.h> | ||
15 | 16 | ||
16 | #include <asm/irq_cpu.h> | 17 | #include <asm/irq_cpu.h> |
17 | #include <asm/i8253.h> | 18 | #include <asm/i8253.h> |
@@ -22,9 +23,9 @@ | |||
22 | 23 | ||
23 | static DEFINE_RAW_SPINLOCK(r4030_lock); | 24 | static DEFINE_RAW_SPINLOCK(r4030_lock); |
24 | 25 | ||
25 | static void enable_r4030_irq(unsigned int irq) | 26 | static void enable_r4030_irq(struct irq_data *d) |
26 | { | 27 | { |
27 | unsigned int mask = 1 << (irq - JAZZ_IRQ_START); | 28 | unsigned int mask = 1 << (d->irq - JAZZ_IRQ_START); |
28 | unsigned long flags; | 29 | unsigned long flags; |
29 | 30 | ||
30 | raw_spin_lock_irqsave(&r4030_lock, flags); | 31 | raw_spin_lock_irqsave(&r4030_lock, flags); |
@@ -33,9 +34,9 @@ static void enable_r4030_irq(unsigned int irq) | |||
33 | raw_spin_unlock_irqrestore(&r4030_lock, flags); | 34 | raw_spin_unlock_irqrestore(&r4030_lock, flags); |
34 | } | 35 | } |
35 | 36 | ||
36 | void disable_r4030_irq(unsigned int irq) | 37 | void disable_r4030_irq(struct irq_data *d) |
37 | { | 38 | { |
38 | unsigned int mask = ~(1 << (irq - JAZZ_IRQ_START)); | 39 | unsigned int mask = ~(1 << (d->irq - JAZZ_IRQ_START)); |
39 | unsigned long flags; | 40 | unsigned long flags; |
40 | 41 | ||
41 | raw_spin_lock_irqsave(&r4030_lock, flags); | 42 | raw_spin_lock_irqsave(&r4030_lock, flags); |
@@ -46,10 +47,8 @@ void disable_r4030_irq(unsigned int irq) | |||
46 | 47 | ||
47 | static struct irq_chip r4030_irq_type = { | 48 | static struct irq_chip r4030_irq_type = { |
48 | .name = "R4030", | 49 | .name = "R4030", |
49 | .ack = disable_r4030_irq, | 50 | .irq_mask = disable_r4030_irq, |
50 | .mask = disable_r4030_irq, | 51 | .irq_unmask = enable_r4030_irq, |
51 | .mask_ack = disable_r4030_irq, | ||
52 | .unmask = enable_r4030_irq, | ||
53 | }; | 52 | }; |
54 | 53 | ||
55 | void __init init_r4030_ints(void) | 54 | void __init init_r4030_ints(void) |
@@ -57,7 +56,7 @@ void __init init_r4030_ints(void) | |||
57 | int i; | 56 | int i; |
58 | 57 | ||
59 | for (i = JAZZ_IRQ_START; i <= JAZZ_IRQ_END; i++) | 58 | for (i = JAZZ_IRQ_START; i <= JAZZ_IRQ_END; i++) |
60 | set_irq_chip_and_handler(i, &r4030_irq_type, handle_level_irq); | 59 | irq_set_chip_and_handler(i, &r4030_irq_type, handle_level_irq); |
61 | 60 | ||
62 | r4030_write_reg16(JAZZ_IO_IRQ_ENABLE, 0); | 61 | r4030_write_reg16(JAZZ_IO_IRQ_ENABLE, 0); |
63 | r4030_read_reg16(JAZZ_IO_IRQ_SOURCE); /* clear pending IRQs */ | 62 | r4030_read_reg16(JAZZ_IO_IRQ_SOURCE); /* clear pending IRQs */ |