aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-mxc/irq.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/plat-mxc/irq.c')
-rw-r--r--arch/arm/plat-mxc/irq.c9
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);