summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-shmobile
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2013-08-01 23:39:34 -0700
committerSimon Horman <horms+renesas@verge.net.au>2013-08-06 11:18:40 +0900
commit693ac41df314289d655123e6ded519244fa1d951 (patch)
tree14f0539c2df236126d04329e060a40afb00341b0 /arch/arm/mach-shmobile
parent15645581a9401cf2370d2c975e2673d289d5e561 (diff)
downloadlinux-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.c3
-rw-r--r--arch/arm/mach-shmobile/include/mach/r8a7779.h1
-rw-r--r--arch/arm/mach-shmobile/intc-r8a7779.c22
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