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: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
This commit is contained in:
parent
6b6289171b
commit
b499b7a871
3 changed files with 7 additions and 19 deletions
|
@ -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,
|
||||||
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,
|
||||||
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);
|
||||||
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
|
||||||
|
|
Loading…
Add table
Reference in a new issue