diff options
Diffstat (limited to 'arch/arm/plat-mxc/irq.c')
-rw-r--r-- | arch/arm/plat-mxc/irq.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/arm/plat-mxc/irq.c b/arch/arm/plat-mxc/irq.c index e937c8759a97..6e7578a3514b 100644 --- a/arch/arm/plat-mxc/irq.c +++ b/arch/arm/plat-mxc/irq.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <linux/io.h> | 22 | #include <linux/io.h> |
23 | #include <mach/common.h> | 23 | #include <mach/common.h> |
24 | #include <asm/mach/irq.h> | 24 | #include <asm/mach/irq.h> |
25 | #include <mach/hardware.h> | ||
25 | 26 | ||
26 | #define AVIC_BASE IO_ADDRESS(AVIC_BASE_ADDR) | 27 | #define AVIC_BASE IO_ADDRESS(AVIC_BASE_ADDR) |
27 | #define AVIC_INTCNTL (AVIC_BASE + 0x00) /* int control reg */ | 28 | #define AVIC_INTCNTL (AVIC_BASE + 0x00) /* int control reg */ |
@@ -72,14 +73,14 @@ int mxc_set_irq_fiq(unsigned int irq, unsigned int type) | |||
72 | { | 73 | { |
73 | unsigned int irqt; | 74 | unsigned int irqt; |
74 | 75 | ||
75 | if (irq >= MXC_MAX_INT_LINES) | 76 | if (irq >= MXC_INTERNAL_IRQS) |
76 | return -EINVAL; | 77 | return -EINVAL; |
77 | 78 | ||
78 | if (irq < MXC_MAX_INT_LINES / 2) { | 79 | if (irq < MXC_INTERNAL_IRQS / 2) { |
79 | irqt = __raw_readl(AVIC_INTTYPEL) & ~(1 << irq); | 80 | irqt = __raw_readl(AVIC_INTTYPEL) & ~(1 << irq); |
80 | __raw_writel(irqt | (!!type << irq), AVIC_INTTYPEL); | 81 | __raw_writel(irqt | (!!type << irq), AVIC_INTTYPEL); |
81 | } else { | 82 | } else { |
82 | irq -= MXC_MAX_INT_LINES / 2; | 83 | irq -= MXC_INTERNAL_IRQS / 2; |
83 | irqt = __raw_readl(AVIC_INTTYPEH) & ~(1 << irq); | 84 | irqt = __raw_readl(AVIC_INTTYPEH) & ~(1 << irq); |
84 | __raw_writel(irqt | (!!type << irq), AVIC_INTTYPEH); | 85 | __raw_writel(irqt | (!!type << irq), AVIC_INTTYPEH); |
85 | } | 86 | } |
@@ -129,7 +130,7 @@ void __init mxc_init_irq(void) | |||
129 | /* all IRQ no FIQ */ | 130 | /* all IRQ no FIQ */ |
130 | __raw_writel(0, AVIC_INTTYPEH); | 131 | __raw_writel(0, AVIC_INTTYPEH); |
131 | __raw_writel(0, AVIC_INTTYPEL); | 132 | __raw_writel(0, AVIC_INTTYPEL); |
132 | for (i = 0; i < MXC_MAX_INT_LINES; i++) { | 133 | for (i = 0; i < MXC_INTERNAL_IRQS; i++) { |
133 | set_irq_chip(i, &mxc_avic_chip); | 134 | set_irq_chip(i, &mxc_avic_chip); |
134 | set_irq_handler(i, handle_level_irq); | 135 | set_irq_handler(i, handle_level_irq); |
135 | set_irq_flags(i, IRQF_VALID); | 136 | set_irq_flags(i, IRQF_VALID); |