diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2013-08-01 23:39:34 -0700 |
---|---|---|
committer | Simon Horman <horms+renesas@verge.net.au> | 2013-08-06 11:18:40 +0900 |
commit | 693ac41df314289d655123e6ded519244fa1d951 (patch) | |
tree | 14f0539c2df236126d04329e060a40afb00341b0 /arch/arm/mach-shmobile | |
parent | 15645581a9401cf2370d2c975e2673d289d5e561 (diff) | |
download | linux-stable-693ac41df314289d655123e6ded519244fa1d951.tar.gz linux-stable-693ac41df314289d655123e6ded519244fa1d951.tar.bz2 linux-stable-693ac41df314289d655123e6ded519244fa1d951.zip |
ARM: shmobile: marzen: Use DT for GIC
Current Marzen is using DT booting,
and r8a7779.dtsi already has GIC settings.
So, we can remove the C version of the GIC setup code,
instead rely on GIC information provided by DT.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'arch/arm/mach-shmobile')
-rw-r--r-- | arch/arm/mach-shmobile/board-marzen.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/include/mach/r8a7779.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/intc-r8a7779.c | 22 |
3 files changed, 5 insertions, 21 deletions
diff --git a/arch/arm/mach-shmobile/board-marzen.c b/arch/arm/mach-shmobile/board-marzen.c index bcd07c065224..f3027295f60c 100644 --- a/arch/arm/mach-shmobile/board-marzen.c +++ b/arch/arm/mach-shmobile/board-marzen.c @@ -247,8 +247,7 @@ DT_MACHINE_START(MARZEN, "marzen") .smp = smp_ops(r8a7779_smp_ops), .map_io = r8a7779_map_io, .init_early = r8a7779_add_early_devices, - .nr_irqs = NR_IRQS_LEGACY, - .init_irq = r8a7779_init_irq, + .init_irq = r8a7779_init_irq_dt, .init_machine = marzen_init, .init_late = r8a7779_init_late, .dt_compat = marzen_boards_compat_dt, diff --git a/arch/arm/mach-shmobile/include/mach/r8a7779.h b/arch/arm/mach-shmobile/include/mach/r8a7779.h index fc47073c7ba9..c62252f77c85 100644 --- a/arch/arm/mach-shmobile/include/mach/r8a7779.h +++ b/arch/arm/mach-shmobile/include/mach/r8a7779.h @@ -25,7 +25,6 @@ static inline struct r8a7779_pm_ch *to_r8a7779_ch(struct generic_pm_domain *d) } extern void r8a7779_init_delay(void); -extern void r8a7779_init_irq(void); extern void r8a7779_init_irq_extpin(int irlm); extern void r8a7779_init_irq_dt(void); extern void r8a7779_map_io(void); diff --git a/arch/arm/mach-shmobile/intc-r8a7779.c b/arch/arm/mach-shmobile/intc-r8a7779.c index b86dc8908724..8a082f032414 100644 --- a/arch/arm/mach-shmobile/intc-r8a7779.c +++ b/arch/arm/mach-shmobile/intc-r8a7779.c @@ -90,15 +90,18 @@ void __init r8a7779_init_irq_extpin(int irlm) pr_warn("r8a7779: unable to setup external irq pin mode\n"); } +#ifdef CONFIG_OF static int r8a7779_set_wake(struct irq_data *data, unsigned int on) { return 0; /* always allow wakeup */ } -static void __init r8a7779_init_irq_common(void) +void __init r8a7779_init_irq_dt(void) { gic_arch_extn.irq_set_wake = r8a7779_set_wake; + irqchip_init(); + /* route all interrupts to ARM */ __raw_writel(0xffffffff, INT2NTSR0); __raw_writel(0x3fffffff, INT2NTSR1); @@ -109,23 +112,6 @@ static void __init r8a7779_init_irq_common(void) __raw_writel(0xfffbffdf, INT2SMSKCR2); __raw_writel(0xbffffffc, INT2SMSKCR3); __raw_writel(0x003fee3f, INT2SMSKCR4); -} - -void __init r8a7779_init_irq(void) -{ - void __iomem *gic_dist_base = IOMEM(0xf0001000); - void __iomem *gic_cpu_base = IOMEM(0xf0000100); - /* use GIC to handle interrupts */ - gic_init(0, 29, gic_dist_base, gic_cpu_base); - - r8a7779_init_irq_common(); -} - -#ifdef CONFIG_OF -void __init r8a7779_init_irq_dt(void) -{ - irqchip_init(); - r8a7779_init_irq_common(); } #endif |