[ARM] 4435/1: PXA: remove PXA_INTERNAL_IRQS

1. define PXA_GPIO_IRQ_BASE to be right after the internal IRQs,
   and define PXA_GPIO_IRQ_NUM to be 128 for all PXA2xx variants

2. make the code specific to the high IRQ numbers (32..64) to be
   PXA27x specific

3. add a function pxa_init_irq_high() to initialize the internal
   high IRQ chip, the invoke of this function could be moved to
   PXA27x specific initialization code

Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
Eric Miao
2007-06-06 06:32:38 +01:00
committed by Russell King
parent 486c955118
commit c08b7b3ef6
2 changed files with 22 additions and 19 deletions

View File

@@ -67,7 +67,7 @@ static struct irq_chip pxa_internal_chip_low = {
.set_wake = pxa_set_wake,
};
#if PXA_INTERNAL_IRQS > 32
#ifdef CONFIG_PXA27x
/*
* This is for the second set of internal IRQs as found on the PXA27x.
@@ -90,6 +90,19 @@ static struct irq_chip pxa_internal_chip_high = {
.unmask = pxa_unmask_high_irq,
};
void __init pxa_init_irq_high(void)
{
int irq;
ICMR2 = 0;
ICLR2 = 0;
for (irq = PXA_IRQ(32); irq < PXA_IRQ(64); irq++) {
set_irq_chip(irq, &pxa_internal_chip_high);
set_irq_handler(irq, handle_level_irq);
set_irq_flags(irq, IRQF_VALID);
}
}
#endif
/* Note that if an input/irq line ever gets changed to an output during
@@ -314,7 +327,6 @@ static struct irq_chip pxa_muxed_gpio_chip = {
.set_wake = pxa_set_gpio_wake,
};
void __init pxa_init_irq(void)
{
int irq;
@@ -338,8 +350,6 @@ void __init pxa_init_irq(void)
#ifdef CONFIG_PXA27x
/* And similarly for the extra regs on the PXA27x */
ICMR2 = 0;
ICLR2 = 0;
GFER3 = 0;
GRER3 = 0;
GEDR3 = GEDR3;
@@ -357,12 +367,8 @@ void __init pxa_init_irq(void)
set_irq_flags(irq, IRQF_VALID);
}
#if PXA_INTERNAL_IRQS > 32
for (irq = PXA_IRQ(32); irq < PXA_IRQ(PXA_INTERNAL_IRQS); irq++) {
set_irq_chip(irq, &pxa_internal_chip_high);
set_irq_handler(irq, handle_level_irq);
set_irq_flags(irq, IRQF_VALID);
}
#ifdef CONFIG_PXA27x
pxa_init_irq_high();
#endif
for (irq = IRQ_GPIO0; irq <= IRQ_GPIO1; irq++) {