summary refs log tree commit diff
path: root/arch/arm/mach-pxa/generic.h
diff options
context:
space:
mode:
authoreric miao <eric.miao@marvell.com>2008-03-04 13:53:05 +0800
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-04-19 11:29:04 +0100
commitf6fb7af4768bc1ddc2349f6eaefedd746c8e4913 (patch)
treeade9682bb833f1b576609b4344b4e55ce20a8500 /arch/arm/mach-pxa/generic.h
parente3630db1fa7677b350fd5a1ac5498cc48448ae28 (diff)
downloadlinux-f6fb7af4768bc1ddc2349f6eaefedd746c8e4913.tar.gz
[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>
Diffstat (limited to 'arch/arm/mach-pxa/generic.h')
-rw-r--r--arch/arm/mach-pxa/generic.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/arm/mach-pxa/generic.h b/arch/arm/mach-pxa/generic.h
index cbe6693b1b6f..0e3e058296fa 100644
--- a/arch/arm/mach-pxa/generic.h
+++ b/arch/arm/mach-pxa/generic.h
@@ -12,8 +12,7 @@
 struct sys_timer;
 
 extern struct sys_timer pxa_timer;
-extern void __init pxa_init_irq_low(void);
-extern void __init pxa_init_irq_high(void);
+extern void __init pxa_init_irq(int irq_nr);
 extern void __init pxa_init_irq_gpio(int gpio_nr);
 extern void __init pxa_init_irq_set_wake(int (*set_wake)(unsigned int, unsigned int));
 extern void __init pxa_init_gpio_set_wake(int (*set_wake)(unsigned int, unsigned int));