Commit 0da09930 authored by Heiko Stuebner's avatar Heiko Stuebner Committed by Kukjin Kim

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

Combines the two independent init steps for the irqs into one.
Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
parent d3d5a2c9
...@@ -36,6 +36,7 @@ extern void s3c2412_init_uarts(struct s3c2410_uartcfg *cfg, int no); ...@@ -36,6 +36,7 @@ extern void s3c2412_init_uarts(struct s3c2410_uartcfg *cfg, int no);
extern void s3c2412_init_clocks(int xtal); extern void s3c2412_init_clocks(int xtal);
extern int s3c2412_baseclk_add(void); extern int s3c2412_baseclk_add(void);
extern void s3c2412_restart(char mode, const char *cmd); extern void s3c2412_restart(char mode, const char *cmd);
extern void s3c2412_init_irq(void);
#else #else
#define s3c2412_init_clocks NULL #define s3c2412_init_clocks NULL
#define s3c2412_init_uarts NULL #define s3c2412_init_uarts NULL
......
...@@ -743,10 +743,12 @@ static struct irq_chip s3c2412_irq_cfsdi = { ...@@ -743,10 +743,12 @@ static struct irq_chip s3c2412_irq_cfsdi = {
.irq_unmask = s3c2412_irq_cfsdi_unmask, .irq_unmask = s3c2412_irq_cfsdi_unmask,
}; };
static int s3c2412_irq_add(struct device *dev, struct subsys_interface *sif) void s3c2412_init_irq(void)
{ {
unsigned int irqno; unsigned int irqno;
s3c24xx_init_irq();
for (irqno = IRQ_EINT0; irqno <= IRQ_EINT3; irqno++) { for (irqno = IRQ_EINT0; irqno <= IRQ_EINT3; irqno++) {
irq_set_chip_and_handler(irqno, &s3c2412_irq_eint0t4, irq_set_chip_and_handler(irqno, &s3c2412_irq_eint0t4,
handle_edge_irq); handle_edge_irq);
...@@ -762,22 +764,7 @@ static int s3c2412_irq_add(struct device *dev, struct subsys_interface *sif) ...@@ -762,22 +764,7 @@ static int s3c2412_irq_add(struct device *dev, struct subsys_interface *sif)
handle_level_irq); handle_level_irq);
set_irq_flags(irqno, IRQF_VALID); set_irq_flags(irqno, IRQF_VALID);
} }
return 0;
} }
static struct subsys_interface s3c2412_irq_interface = {
.name = "s3c2412_irq",
.subsys = &s3c2412_subsys,
.add_dev = s3c2412_irq_add,
};
static int s3c2412_irq_init(void)
{
return subsys_interface_register(&s3c2412_irq_interface);
}
arch_initcall(s3c2412_irq_init);
#endif #endif
#ifdef CONFIG_CPU_S3C2416 #ifdef CONFIG_CPU_S3C2416
......
...@@ -660,7 +660,7 @@ MACHINE_START(JIVE, "JIVE") ...@@ -660,7 +660,7 @@ MACHINE_START(JIVE, "JIVE")
/* 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 = s3c2412_init_irq,
.map_io = jive_map_io, .map_io = jive_map_io,
.init_machine = jive_machine_init, .init_machine = jive_machine_init,
.init_time = samsung_timer_init, .init_time = samsung_timer_init,
......
...@@ -130,7 +130,7 @@ MACHINE_START(S3C2413, "S3C2413") ...@@ -130,7 +130,7 @@ MACHINE_START(S3C2413, "S3C2413")
.atag_offset = 0x100, .atag_offset = 0x100,
.fixup = smdk2413_fixup, .fixup = smdk2413_fixup,
.init_irq = s3c24xx_init_irq, .init_irq = s3c2412_init_irq,
.map_io = smdk2413_map_io, .map_io = smdk2413_map_io,
.init_machine = smdk2413_machine_init, .init_machine = smdk2413_machine_init,
.init_time = samsung_timer_init, .init_time = samsung_timer_init,
...@@ -142,7 +142,7 @@ MACHINE_START(SMDK2412, "SMDK2412") ...@@ -142,7 +142,7 @@ MACHINE_START(SMDK2412, "SMDK2412")
.atag_offset = 0x100, .atag_offset = 0x100,
.fixup = smdk2413_fixup, .fixup = smdk2413_fixup,
.init_irq = s3c24xx_init_irq, .init_irq = s3c2412_init_irq,
.map_io = smdk2413_map_io, .map_io = smdk2413_map_io,
.init_machine = smdk2413_machine_init, .init_machine = smdk2413_machine_init,
.init_time = samsung_timer_init, .init_time = samsung_timer_init,
...@@ -154,7 +154,7 @@ MACHINE_START(SMDK2413, "SMDK2413") ...@@ -154,7 +154,7 @@ MACHINE_START(SMDK2413, "SMDK2413")
.atag_offset = 0x100, .atag_offset = 0x100,
.fixup = smdk2413_fixup, .fixup = smdk2413_fixup,
.init_irq = s3c24xx_init_irq, .init_irq = s3c2412_init_irq,
.map_io = smdk2413_map_io, .map_io = smdk2413_map_io,
.init_machine = smdk2413_machine_init, .init_machine = smdk2413_machine_init,
.init_time = samsung_timer_init, .init_time = samsung_timer_init,
......
...@@ -158,7 +158,7 @@ MACHINE_START(VSTMS, "VSTMS") ...@@ -158,7 +158,7 @@ MACHINE_START(VSTMS, "VSTMS")
.atag_offset = 0x100, .atag_offset = 0x100,
.fixup = vstms_fixup, .fixup = vstms_fixup,
.init_irq = s3c24xx_init_irq, .init_irq = s3c2412_init_irq,
.init_machine = vstms_init, .init_machine = vstms_init,
.map_io = vstms_map_io, .map_io = vstms_map_io,
.init_time = samsung_timer_init, .init_time = samsung_timer_init,
......
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