From 53665a50fdac6fe11e0dde4e2b95700ed5184dc4 Mon Sep 17 00:00:00 2001 From: Eric Miao Date: Wed, 6 Jun 2007 06:36:04 +0100 Subject: [ARM] 4436/1: PXA: move low IRQ initialization code to pxa_init_irq_low() 1. move low IRQ initialization code to pxa_init_irq_low() Signed-off-by: eric miao Signed-off-by: Russell King --- arch/arm/mach-pxa/irq.c | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) (limited to 'arch/arm/mach-pxa/irq.c') diff --git a/arch/arm/mach-pxa/irq.c b/arch/arm/mach-pxa/irq.c index 844d3de3ef44..42b2da2f213e 100644 --- a/arch/arm/mach-pxa/irq.c +++ b/arch/arm/mach-pxa/irq.c @@ -67,6 +67,26 @@ static struct irq_chip pxa_internal_chip_low = { .set_wake = pxa_set_wake, }; +void __init pxa_init_irq_low(void) +{ + int irq; + + /* disable all IRQs */ + ICMR = 0; + + /* all IRQs are IRQ, not FIQ */ + ICLR = 0; + + /* only unmasked interrupts kick us out of idle */ + ICCR = 1; + + for (irq = PXA_IRQ(0); irq <= PXA_IRQ(31); irq++) { + set_irq_chip(irq, &pxa_internal_chip_low); + set_irq_handler(irq, handle_level_irq); + set_irq_flags(irq, IRQF_VALID); + } +} + #ifdef CONFIG_PXA27x /* @@ -331,12 +351,6 @@ void __init pxa_init_irq(void) { int irq; - /* disable all IRQs */ - ICMR = 0; - - /* all IRQs are IRQ, not FIQ */ - ICLR = 0; - /* clear all GPIO edge detects */ GFER0 = 0; GFER1 = 0; @@ -355,18 +369,10 @@ void __init pxa_init_irq(void) GEDR3 = GEDR3; #endif - /* only unmasked interrupts kick us out of idle */ - ICCR = 1; - /* GPIO 0 and 1 must have their mask bit always set */ GPIO_IRQ_mask[0] = 3; - for (irq = PXA_IRQ(0); irq <= PXA_IRQ(31); irq++) { - set_irq_chip(irq, &pxa_internal_chip_low); - set_irq_handler(irq, handle_level_irq); - set_irq_flags(irq, IRQF_VALID); - } - + pxa_init_irq_low(); #ifdef CONFIG_PXA27x pxa_init_irq_high(); #endif -- cgit v1.2.3