From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko =?utf-8?q?St=C3=BCbner?= Subject: [PATCH 05/10] ARM: S3C24XX: modify s3c2416 irq init to initialize all irqs Date: Sun, 18 Nov 2012 01:54:45 +0100 Message-ID: <201211180154.45379.heiko@sntech.de> References: <201211180151.01029.heiko@sntech.de> Mime-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Return-path: Received: from gloria.sntech.de ([95.129.55.99]:53190 "EHLO gloria.sntech.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752453Ab2KRAyv (ORCPT ); Sat, 17 Nov 2012 19:54:51 -0500 In-Reply-To: <201211180151.01029.heiko@sntech.de> Sender: linux-samsung-soc-owner@vger.kernel.org List-Id: linux-samsung-soc@vger.kernel.org To: Kukjin Kim Cc: Ben Dooks , linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org 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 s3c416_init_irq, which then calls s3c24xx_init_irq but also adds the cpu specific irqs. Signed-off-by: Heiko Stuebner --- arch/arm/mach-s3c24xx/mach-smdk2416.c | 2 +- arch/arm/plat-s3c24xx/irq.c | 22 ++++------------------ arch/arm/plat-samsung/include/plat/s3c2416.h | 1 + 3 files changed, 6 insertions(+), 19 deletions(-) diff --git a/arch/arm/mach-s3c24xx/mach-smdk2416.c b/arch/arm/mach-s3c24xx/mach-smdk2416.c index f30d7fc..5f6858f 100644 --- a/arch/arm/mach-s3c24xx/mach-smdk2416.c +++ b/arch/arm/mach-s3c24xx/mach-smdk2416.c @@ -251,7 +251,7 @@ MACHINE_START(SMDK2416, "SMDK2416") /* Maintainer: Yauhen Kharuzhy */ .atag_offset = 0x100, - .init_irq = s3c24xx_init_irq, + .init_irq = s3c2416_init_irq, .map_io = smdk2416_map_io, .init_machine = smdk2416_machine_init, .timer = &s3c24xx_timer, diff --git a/arch/arm/plat-s3c24xx/irq.c b/arch/arm/plat-s3c24xx/irq.c index febbe2c..ca60486 100644 --- a/arch/arm/plat-s3c24xx/irq.c +++ b/arch/arm/plat-s3c24xx/irq.c @@ -1009,10 +1009,11 @@ static void s3c2416_irq_add_second(void) } } -static int s3c2416_irq_add(struct device *dev, - struct subsys_interface *sif) +void __init s3c2416_init_irq(void) { - printk(KERN_INFO "S3C2416: IRQ Support\n"); + pr_info("S3C2416: IRQ Support\n"); + + s3c24xx_init_irq(); s3c2416_add_sub(IRQ_LCD, s3c2416_irq_demux_lcd, &s3c2416_irq_lcd, IRQ_S3C2443_LCD2, IRQ_S3C2443_LCD4); @@ -1029,23 +1030,8 @@ static int s3c2416_irq_add(struct device *dev, IRQ_S3C2443_WDT, IRQ_S3C2443_AC97); s3c2416_irq_add_second(); - - return 0; } -static struct subsys_interface s3c2416_irq_interface = { - .name = "s3c2416_irq", - .subsys = &s3c2416_subsys, - .add_dev = s3c2416_irq_add, -}; - -static int __init s3c2416_irq_init(void) -{ - return subsys_interface_register(&s3c2416_irq_interface); -} - -arch_initcall(s3c2416_irq_init); - #ifdef CONFIG_PM static struct sleep_save irq2_save[] = { SAVE_ITEM(S3C2416_INTMSK2), diff --git a/arch/arm/plat-samsung/include/plat/s3c2416.h b/arch/arm/plat-samsung/include/plat/s3c2416.h index 7178e33..f27399a 100644 --- a/arch/arm/plat-samsung/include/plat/s3c2416.h +++ b/arch/arm/plat-samsung/include/plat/s3c2416.h @@ -25,6 +25,7 @@ extern int s3c2416_baseclk_add(void); extern void s3c2416_restart(char mode, const char *cmd); +extern void s3c2416_init_irq(void); extern struct syscore_ops s3c2416_irq_syscore_ops; #else -- 1.7.2.3 From mboxrd@z Thu Jan 1 00:00:00 1970 From: heiko@sntech.de (Heiko =?utf-8?q?St=C3=BCbner?=) Date: Sun, 18 Nov 2012 01:54:45 +0100 Subject: [PATCH 05/10] ARM: S3C24XX: modify s3c2416 irq init to initialize all irqs In-Reply-To: <201211180151.01029.heiko@sntech.de> References: <201211180151.01029.heiko@sntech.de> Message-ID: <201211180154.45379.heiko@sntech.de> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org 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 s3c416_init_irq, which then calls s3c24xx_init_irq but also adds the cpu specific irqs. Signed-off-by: Heiko Stuebner --- arch/arm/mach-s3c24xx/mach-smdk2416.c | 2 +- arch/arm/plat-s3c24xx/irq.c | 22 ++++------------------ arch/arm/plat-samsung/include/plat/s3c2416.h | 1 + 3 files changed, 6 insertions(+), 19 deletions(-) diff --git a/arch/arm/mach-s3c24xx/mach-smdk2416.c b/arch/arm/mach-s3c24xx/mach-smdk2416.c index f30d7fc..5f6858f 100644 --- a/arch/arm/mach-s3c24xx/mach-smdk2416.c +++ b/arch/arm/mach-s3c24xx/mach-smdk2416.c @@ -251,7 +251,7 @@ MACHINE_START(SMDK2416, "SMDK2416") /* Maintainer: Yauhen Kharuzhy */ .atag_offset = 0x100, - .init_irq = s3c24xx_init_irq, + .init_irq = s3c2416_init_irq, .map_io = smdk2416_map_io, .init_machine = smdk2416_machine_init, .timer = &s3c24xx_timer, diff --git a/arch/arm/plat-s3c24xx/irq.c b/arch/arm/plat-s3c24xx/irq.c index febbe2c..ca60486 100644 --- a/arch/arm/plat-s3c24xx/irq.c +++ b/arch/arm/plat-s3c24xx/irq.c @@ -1009,10 +1009,11 @@ static void s3c2416_irq_add_second(void) } } -static int s3c2416_irq_add(struct device *dev, - struct subsys_interface *sif) +void __init s3c2416_init_irq(void) { - printk(KERN_INFO "S3C2416: IRQ Support\n"); + pr_info("S3C2416: IRQ Support\n"); + + s3c24xx_init_irq(); s3c2416_add_sub(IRQ_LCD, s3c2416_irq_demux_lcd, &s3c2416_irq_lcd, IRQ_S3C2443_LCD2, IRQ_S3C2443_LCD4); @@ -1029,23 +1030,8 @@ static int s3c2416_irq_add(struct device *dev, IRQ_S3C2443_WDT, IRQ_S3C2443_AC97); s3c2416_irq_add_second(); - - return 0; } -static struct subsys_interface s3c2416_irq_interface = { - .name = "s3c2416_irq", - .subsys = &s3c2416_subsys, - .add_dev = s3c2416_irq_add, -}; - -static int __init s3c2416_irq_init(void) -{ - return subsys_interface_register(&s3c2416_irq_interface); -} - -arch_initcall(s3c2416_irq_init); - #ifdef CONFIG_PM static struct sleep_save irq2_save[] = { SAVE_ITEM(S3C2416_INTMSK2), diff --git a/arch/arm/plat-samsung/include/plat/s3c2416.h b/arch/arm/plat-samsung/include/plat/s3c2416.h index 7178e33..f27399a 100644 --- a/arch/arm/plat-samsung/include/plat/s3c2416.h +++ b/arch/arm/plat-samsung/include/plat/s3c2416.h @@ -25,6 +25,7 @@ extern int s3c2416_baseclk_add(void); extern void s3c2416_restart(char mode, const char *cmd); +extern void s3c2416_init_irq(void); extern struct syscore_ops s3c2416_irq_syscore_ops; #else -- 1.7.2.3