ARM: shmobile: armadillo800eva: Use DT for GIC
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Fri, 2 Aug 2013 06:39:13 +0000 (23:39 -0700)
committerSimon Horman <horms+renesas@verge.net.au>
Tue, 6 Aug 2013 02:18:29 +0000 (11:18 +0900)
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>
arch/arm/mach-shmobile/board-armadillo800eva.c
arch/arm/mach-shmobile/include/mach/r8a7740.h
arch/arm/mach-shmobile/intc-r8a7740.c

index 66cfd56865784d766add3d14b4602361b6de0b26..68641952b63a7a7ef16a3cb4df6564b7e415aa9d 100644 (file)
@@ -1265,7 +1265,7 @@ static const char *eva_boards_compat_dt[] __initdata = {
 DT_MACHINE_START(ARMADILLO800EVA_DT, "armadillo800eva")
        .map_io         = r8a7740_map_io,
        .init_early     = eva_add_early_devices,
-       .init_irq       = r8a7740_init_irq,
+       .init_irq       = r8a7740_init_irq_of,
        .init_machine   = eva_init,
        .init_late      = shmobile_init_late,
        .init_time      = eva_earlytimer_init,
index 56f375005fcd7953757243bc9f3bb775b50ad309..d07932f872b6770273a5b227231c60a5cbf5a06f 100644 (file)
@@ -48,7 +48,6 @@ enum {
 
 extern void r8a7740_meram_workaround(void);
 extern void r8a7740_init_delay(void);
-extern void r8a7740_init_irq(void);
 extern void r8a7740_init_irq_of(void);
 extern void r8a7740_map_io(void);
 extern void r8a7740_add_early_devices(void);
index 8871f7717dc8ff7d05b631b2c2b5d027dd5eff4b..75193539b541cba4ece9ec5dd95f2a5d20324d37 100644 (file)
 #include <linux/irqchip.h>
 #include <linux/irqchip/arm-gic.h>
 
-static void __init r8a7740_init_irq_common(void)
+void __init r8a7740_init_irq_of(void)
 {
        void __iomem *intc_prio_base = ioremap_nocache(0xe6900010, 0x10);
        void __iomem *intc_msk_base = ioremap_nocache(0xe6900040, 0x10);
        void __iomem *pfc_inta_ctrl = ioremap_nocache(0xe605807c, 0x4);
 
+       irqchip_init();
+
        /* route signals to GIC */
        iowrite32(0x0, pfc_inta_ctrl);
 
@@ -50,19 +52,3 @@ static void __init r8a7740_init_irq_common(void)
        iounmap(intc_msk_base);
        iounmap(pfc_inta_ctrl);
 }
-
-void __init r8a7740_init_irq_of(void)
-{
-       irqchip_init();
-       r8a7740_init_irq_common();
-}
-
-void __init r8a7740_init_irq(void)
-{
-       void __iomem *gic_dist_base = ioremap_nocache(0xc2800000, 0x1000);
-       void __iomem *gic_cpu_base = ioremap_nocache(0xc2000000, 0x1000);
-
-       /* initialize the Generic Interrupt Controller PL390 r0p0 */
-       gic_init(0, 29, gic_dist_base, gic_cpu_base);
-       r8a7740_init_irq_common();
-}