diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2013-08-02 02:39:13 -0400 |
---|---|---|
committer | Simon Horman <horms+renesas@verge.net.au> | 2013-08-05 22:18:29 -0400 |
commit | 15645581a9401cf2370d2c975e2673d289d5e561 (patch) | |
tree | f842b09826cf0cb3e928814297fe16ff83e90004 /arch/arm/mach-shmobile | |
parent | d2f463a66abb1edc3b0ab6cc8252d9fa4e3d30e8 (diff) |
ARM: shmobile: armadillo800eva: Use DT for GIC
Current Armadillo800eva is using DT booting,
and r8a7740.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.
This patch removes r8a7740_init_irq() which has
no user any more
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-armadillo800eva.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/include/mach/r8a7740.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/intc-r8a7740.c | 20 |
3 files changed, 4 insertions, 19 deletions
diff --git a/arch/arm/mach-shmobile/board-armadillo800eva.c b/arch/arm/mach-shmobile/board-armadillo800eva.c index 66cfd5686578..68641952b63a 100644 --- a/arch/arm/mach-shmobile/board-armadillo800eva.c +++ b/arch/arm/mach-shmobile/board-armadillo800eva.c | |||
@@ -1265,7 +1265,7 @@ static const char *eva_boards_compat_dt[] __initdata = { | |||
1265 | DT_MACHINE_START(ARMADILLO800EVA_DT, "armadillo800eva") | 1265 | DT_MACHINE_START(ARMADILLO800EVA_DT, "armadillo800eva") |
1266 | .map_io = r8a7740_map_io, | 1266 | .map_io = r8a7740_map_io, |
1267 | .init_early = eva_add_early_devices, | 1267 | .init_early = eva_add_early_devices, |
1268 | .init_irq = r8a7740_init_irq, | 1268 | .init_irq = r8a7740_init_irq_of, |
1269 | .init_machine = eva_init, | 1269 | .init_machine = eva_init, |
1270 | .init_late = shmobile_init_late, | 1270 | .init_late = shmobile_init_late, |
1271 | .init_time = eva_earlytimer_init, | 1271 | .init_time = eva_earlytimer_init, |
diff --git a/arch/arm/mach-shmobile/include/mach/r8a7740.h b/arch/arm/mach-shmobile/include/mach/r8a7740.h index 56f375005fcd..d07932f872b6 100644 --- a/arch/arm/mach-shmobile/include/mach/r8a7740.h +++ b/arch/arm/mach-shmobile/include/mach/r8a7740.h | |||
@@ -48,7 +48,6 @@ enum { | |||
48 | 48 | ||
49 | extern void r8a7740_meram_workaround(void); | 49 | extern void r8a7740_meram_workaround(void); |
50 | extern void r8a7740_init_delay(void); | 50 | extern void r8a7740_init_delay(void); |
51 | extern void r8a7740_init_irq(void); | ||
52 | extern void r8a7740_init_irq_of(void); | 51 | extern void r8a7740_init_irq_of(void); |
53 | extern void r8a7740_map_io(void); | 52 | extern void r8a7740_map_io(void); |
54 | extern void r8a7740_add_early_devices(void); | 53 | extern void r8a7740_add_early_devices(void); |
diff --git a/arch/arm/mach-shmobile/intc-r8a7740.c b/arch/arm/mach-shmobile/intc-r8a7740.c index 8871f7717dc8..75193539b541 100644 --- a/arch/arm/mach-shmobile/intc-r8a7740.c +++ b/arch/arm/mach-shmobile/intc-r8a7740.c | |||
@@ -23,12 +23,14 @@ | |||
23 | #include <linux/irqchip.h> | 23 | #include <linux/irqchip.h> |
24 | #include <linux/irqchip/arm-gic.h> | 24 | #include <linux/irqchip/arm-gic.h> |
25 | 25 | ||
26 | static void __init r8a7740_init_irq_common(void) | 26 | void __init r8a7740_init_irq_of(void) |
27 | { | 27 | { |
28 | void __iomem *intc_prio_base = ioremap_nocache(0xe6900010, 0x10); | 28 | void __iomem *intc_prio_base = ioremap_nocache(0xe6900010, 0x10); |
29 | void __iomem *intc_msk_base = ioremap_nocache(0xe6900040, 0x10); | 29 | void __iomem *intc_msk_base = ioremap_nocache(0xe6900040, 0x10); |
30 | void __iomem *pfc_inta_ctrl = ioremap_nocache(0xe605807c, 0x4); | 30 | void __iomem *pfc_inta_ctrl = ioremap_nocache(0xe605807c, 0x4); |
31 | 31 | ||
32 | irqchip_init(); | ||
33 | |||
32 | /* route signals to GIC */ | 34 | /* route signals to GIC */ |
33 | iowrite32(0x0, pfc_inta_ctrl); | 35 | iowrite32(0x0, pfc_inta_ctrl); |
34 | 36 | ||
@@ -50,19 +52,3 @@ static void __init r8a7740_init_irq_common(void) | |||
50 | iounmap(intc_msk_base); | 52 | iounmap(intc_msk_base); |
51 | iounmap(pfc_inta_ctrl); | 53 | iounmap(pfc_inta_ctrl); |
52 | } | 54 | } |
53 | |||
54 | void __init r8a7740_init_irq_of(void) | ||
55 | { | ||
56 | irqchip_init(); | ||
57 | r8a7740_init_irq_common(); | ||
58 | } | ||
59 | |||
60 | void __init r8a7740_init_irq(void) | ||
61 | { | ||
62 | void __iomem *gic_dist_base = ioremap_nocache(0xc2800000, 0x1000); | ||
63 | void __iomem *gic_cpu_base = ioremap_nocache(0xc2000000, 0x1000); | ||
64 | |||
65 | /* initialize the Generic Interrupt Controller PL390 r0p0 */ | ||
66 | gic_init(0, 29, gic_dist_base, gic_cpu_base); | ||
67 | r8a7740_init_irq_common(); | ||
68 | } | ||