Commit b499b7a8 authored by Heiko Stuebner's avatar Heiko Stuebner Committed by Kukjin Kim

ARM: S3C24XX: modify s3c2443 irq init to initialize all irqs

Previously the irq init used s3c24xx_init_irq and an additional
arch_initcall to add the cpu specific irqs.

To be able to simplyfy the irq init later, create a new function
s3c2443_init_irq, which then calls s3c24xx_init_irq but also adds
the cpu specific irqs.
Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
parent 6b628917
...@@ -140,7 +140,7 @@ MACHINE_START(SMDK2443, "SMDK2443") ...@@ -140,7 +140,7 @@ MACHINE_START(SMDK2443, "SMDK2443")
/* Maintainer: Ben Dooks <ben-linux@fluff.org> */ /* Maintainer: Ben Dooks <ben-linux@fluff.org> */
.atag_offset = 0x100, .atag_offset = 0x100,
.init_irq = s3c24xx_init_irq, .init_irq = s3c2443_init_irq,
.map_io = smdk2443_map_io, .map_io = smdk2443_map_io,
.init_machine = smdk2443_machine_init, .init_machine = smdk2443_machine_init,
.timer = &s3c24xx_timer, .timer = &s3c24xx_timer,
......
...@@ -935,10 +935,11 @@ static int s3c2443_add_sub(unsigned int base, ...@@ -935,10 +935,11 @@ static int s3c2443_add_sub(unsigned int base,
return 0; return 0;
} }
static int s3c2443_irq_add(struct device *dev, void __init s3c2443_init_irq(void)
struct subsys_interface *sif)
{ {
printk("S3C2443: IRQ Support\n"); pr_info("S3C2443: IRQ Support\n");
s3c24xx_init_irq();
s3c2443_add_sub(IRQ_CAM, s3c2443_irq_demux_cam, &s3c2443_irq_cam, s3c2443_add_sub(IRQ_CAM, s3c2443_irq_demux_cam, &s3c2443_irq_cam,
IRQ_S3C2440_CAM_C, IRQ_S3C2440_CAM_P); IRQ_S3C2440_CAM_C, IRQ_S3C2440_CAM_P);
...@@ -956,20 +957,5 @@ static int s3c2443_irq_add(struct device *dev, ...@@ -956,20 +957,5 @@ static int s3c2443_irq_add(struct device *dev,
s3c2443_add_sub(IRQ_WDT, s3c2443_irq_demux_wdtac97, s3c2443_add_sub(IRQ_WDT, s3c2443_irq_demux_wdtac97,
&s3c2443_irq_wdtac97, &s3c2443_irq_wdtac97,
IRQ_S3C2443_WDT, IRQ_S3C2443_AC97); IRQ_S3C2443_WDT, IRQ_S3C2443_AC97);
return 0;
} }
static struct subsys_interface s3c2443_irq_interface = {
.name = "s3c2443_irq",
.subsys = &s3c2443_subsys,
.add_dev = s3c2443_irq_add,
};
static int __init s3c2443_irq_init(void)
{
return subsys_interface_register(&s3c2443_irq_interface);
}
arch_initcall(s3c2443_irq_init);
#endif #endif
...@@ -25,6 +25,8 @@ extern void s3c2443_init_clocks(int xtal); ...@@ -25,6 +25,8 @@ extern void s3c2443_init_clocks(int xtal);
extern int s3c2443_baseclk_add(void); extern int s3c2443_baseclk_add(void);
extern void s3c2443_restart(char mode, const char *cmd); extern void s3c2443_restart(char mode, const char *cmd);
extern void s3c2443_init_irq(void);
#else #else
#define s3c2443_init_clocks NULL #define s3c2443_init_clocks NULL
#define s3c2443_init_uarts NULL #define s3c2443_init_uarts NULL
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment