ARM: S3C24XX: integrate s3c2440 irqs into common init
From: Heiko Stuebner <heiko@...> Date: Mon, 4 Feb 2013 13:54:00 +0100
Commit-Message
Now all the arch_initcalls for s3c244x are gone. Signed-off-by: Heiko Stuebner <heiko@...>
Patch-Comment
arch/arm/mach-s3c24xx/irq.c | 46 ++++++++++++------------------------------ 1 files changed, 13 insertions(+), 33 deletions(-)
Statistics
- 13 lines added
- 33 lines removed
Changes
------------------------- arch/arm/mach-s3c24xx/irq.c --------------------------
index 592072b..998e6a8 100644
@@ -840,44 +840,12 @@ static struct irq_chip s3c_irq_wdtac97 = {
.irq_ack = s3c_irq_wdtac97_ack,
};
+void __init s3c2440_init_irq(void)
{
unsigned int irqno;
printk("S3C2440: IRQ Support\n");
s3c24xx_init_irq();
irq_set_chip_and_handler(IRQ_NFCON, &s3c_irq_level_chip,
@@ -895,6 +863,18 @@ void __init s3c2440_init_irq(void)
handle_level_irq);
set_irq_flags(irqno, IRQF_VALID);
}
+
+ /* add new chained handler for wdt, ac7 */
+
+ irq_set_chip_and_handler(IRQ_WDT, &s3c_irq_level_chip,
+ handle_level_irq);
+ irq_set_chained_handler(IRQ_WDT, s3c_irq_demux_wdtac97);
+
+ for (irqno = IRQ_S3C2440_WDT; irqno <= IRQ_S3C2440_AC97; irqno++) {
+ irq_set_chip_and_handler(irqno, &s3c_irq_wdtac97,
+ handle_level_irq);
+ set_irq_flags(irqno, IRQF_VALID);
+ }
}
#endif