提交 7cefed5e 编写于 作者: H Heiko Stuebner 提交者: Kukjin Kim

ARM: S3C24XX: integrate s3c2440 irqs into common init

Now all the arch_initcalls for s3c244x irqs are gone.
Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
上级 2286cf46
......@@ -838,44 +838,12 @@ static struct irq_chip s3c_irq_wdtac97 = {
.irq_ack = s3c_irq_wdtac97_ack,
};
static int s3c2440_irq_add(struct device *dev, struct subsys_interface *sif)
void __init s3c2440_init_irq(void)
{
unsigned int irqno;
printk("S3C2440: IRQ Support\n");
/* 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);
}
return 0;
}
static struct subsys_interface s3c2440_irq_interface = {
.name = "s3c2440_irq",
.subsys = &s3c2440_subsys,
.add_dev = s3c2440_irq_add,
};
static int s3c2440_irq_init(void)
{
return subsys_interface_register(&s3c2440_irq_interface);
}
arch_initcall(s3c2440_irq_init);
void __init s3c2440_init_irq(void)
{
unsigned int irqno;
s3c24xx_init_irq();
irq_set_chip_and_handler(IRQ_NFCON, &s3c_irq_level_chip,
......@@ -893,6 +861,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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册