diff options
Diffstat (limited to 'arch/arm/mach-gemini/irq.c')
-rw-r--r-- | arch/arm/mach-gemini/irq.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/arch/arm/mach-gemini/irq.c b/arch/arm/mach-gemini/irq.c index 9e613ca8120d..9485a8fdf851 100644 --- a/arch/arm/mach-gemini/irq.c +++ b/arch/arm/mach-gemini/irq.c | |||
@@ -32,34 +32,34 @@ | |||
32 | #define FIQ_LEVEL(base_addr) (base_addr + 0x30) | 32 | #define FIQ_LEVEL(base_addr) (base_addr + 0x30) |
33 | #define FIQ_STATUS(base_addr) (base_addr + 0x34) | 33 | #define FIQ_STATUS(base_addr) (base_addr + 0x34) |
34 | 34 | ||
35 | static void gemini_ack_irq(unsigned int irq) | 35 | static void gemini_ack_irq(struct irq_data *d) |
36 | { | 36 | { |
37 | __raw_writel(1 << irq, IRQ_CLEAR(IO_ADDRESS(GEMINI_INTERRUPT_BASE))); | 37 | __raw_writel(1 << d->irq, IRQ_CLEAR(IO_ADDRESS(GEMINI_INTERRUPT_BASE))); |
38 | } | 38 | } |
39 | 39 | ||
40 | static void gemini_mask_irq(unsigned int irq) | 40 | static void gemini_mask_irq(struct irq_data *d) |
41 | { | 41 | { |
42 | unsigned int mask; | 42 | unsigned int mask; |
43 | 43 | ||
44 | mask = __raw_readl(IRQ_MASK(IO_ADDRESS(GEMINI_INTERRUPT_BASE))); | 44 | mask = __raw_readl(IRQ_MASK(IO_ADDRESS(GEMINI_INTERRUPT_BASE))); |
45 | mask &= ~(1 << irq); | 45 | mask &= ~(1 << d->irq); |
46 | __raw_writel(mask, IRQ_MASK(IO_ADDRESS(GEMINI_INTERRUPT_BASE))); | 46 | __raw_writel(mask, IRQ_MASK(IO_ADDRESS(GEMINI_INTERRUPT_BASE))); |
47 | } | 47 | } |
48 | 48 | ||
49 | static void gemini_unmask_irq(unsigned int irq) | 49 | static void gemini_unmask_irq(struct irq_data *d) |
50 | { | 50 | { |
51 | unsigned int mask; | 51 | unsigned int mask; |
52 | 52 | ||
53 | mask = __raw_readl(IRQ_MASK(IO_ADDRESS(GEMINI_INTERRUPT_BASE))); | 53 | mask = __raw_readl(IRQ_MASK(IO_ADDRESS(GEMINI_INTERRUPT_BASE))); |
54 | mask |= (1 << irq); | 54 | mask |= (1 << d->irq); |
55 | __raw_writel(mask, IRQ_MASK(IO_ADDRESS(GEMINI_INTERRUPT_BASE))); | 55 | __raw_writel(mask, IRQ_MASK(IO_ADDRESS(GEMINI_INTERRUPT_BASE))); |
56 | } | 56 | } |
57 | 57 | ||
58 | static struct irq_chip gemini_irq_chip = { | 58 | static struct irq_chip gemini_irq_chip = { |
59 | .name = "INTC", | 59 | .name = "INTC", |
60 | .ack = gemini_ack_irq, | 60 | .irq_ack = gemini_ack_irq, |
61 | .mask = gemini_mask_irq, | 61 | .irq_mask = gemini_mask_irq, |
62 | .unmask = gemini_unmask_irq, | 62 | .irq_unmask = gemini_unmask_irq, |
63 | }; | 63 | }; |
64 | 64 | ||
65 | static struct resource irq_resource = { | 65 | static struct resource irq_resource = { |
@@ -81,13 +81,13 @@ void __init gemini_init_irq(void) | |||
81 | request_resource(&iomem_resource, &irq_resource); | 81 | request_resource(&iomem_resource, &irq_resource); |
82 | 82 | ||
83 | for (i = 0; i < NR_IRQS; i++) { | 83 | for (i = 0; i < NR_IRQS; i++) { |
84 | set_irq_chip(i, &gemini_irq_chip); | 84 | irq_set_chip(i, &gemini_irq_chip); |
85 | if((i >= IRQ_TIMER1 && i <= IRQ_TIMER3) || (i >= IRQ_SERIRQ0 && i <= IRQ_SERIRQ1)) { | 85 | if((i >= IRQ_TIMER1 && i <= IRQ_TIMER3) || (i >= IRQ_SERIRQ0 && i <= IRQ_SERIRQ1)) { |
86 | set_irq_handler(i, handle_edge_irq); | 86 | irq_set_handler(i, handle_edge_irq); |
87 | mode |= 1 << i; | 87 | mode |= 1 << i; |
88 | level |= 1 << i; | 88 | level |= 1 << i; |
89 | } else { | 89 | } else { |
90 | set_irq_handler(i, handle_level_irq); | 90 | irq_set_handler(i, handle_level_irq); |
91 | } | 91 | } |
92 | set_irq_flags(i, IRQF_VALID | IRQF_PROBE); | 92 | set_irq_flags(i, IRQF_VALID | IRQF_PROBE); |
93 | } | 93 | } |