[ARM] pxa: integrate low IRQ chip (ICIP) and high IRQ chip (ICIP2) into one
This makes the code better organized and simplified a bit. The change will lose a bit of performance when performing IRQ ack/mask/unmask,but that's not too much after checking the result binary. This patch also removes the ugly #ifdef CONFIG_PXA27x .. #endif by carefully not to access those pxa{27x,3xx} specific registers, this is done by keeping an internal IRQ number variable. The pxa-regs.h is also modified so registers for IRQ > PXA_IRQ(31) are made public even if CONFIG_PXA{27x,3xx} isn't defined (for pxa25x's sake) The incorrect assumption in the original code that internal irq starts from 0 is also corrected by comparing with PXA_IRQ(0). "struct sys_device" for the IRQ are reduced into one single device on pxa{27x,3xx}. 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:
@@ -340,8 +340,7 @@ set_pwer:
|
||||
|
||||
void __init pxa27x_init_irq(void)
|
||||
{
|
||||
pxa_init_irq_low();
|
||||
pxa_init_irq_high();
|
||||
pxa_init_irq(34);
|
||||
pxa_init_irq_gpio(128);
|
||||
pxa_init_irq_set_wake(pxa27x_set_wake);
|
||||
}
|
||||
@@ -389,10 +388,6 @@ static struct platform_device *devices[] __initdata = {
|
||||
|
||||
static struct sys_device pxa27x_sysdev[] = {
|
||||
{
|
||||
.id = 0,
|
||||
.cls = &pxa_irq_sysclass,
|
||||
}, {
|
||||
.id = 1,
|
||||
.cls = &pxa_irq_sysclass,
|
||||
}, {
|
||||
.cls = &pxa_gpio_sysclass,
|
||||
|
Reference in New Issue
Block a user