Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -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,
+4 −18
Original line number Original line Diff line number Diff line
@@ -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
+2 −0
Original line number Original line Diff line number Diff line
@@ -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