mxc: turn to soc specific init_irq functions
authorSascha Hauer <s.hauer@pengutronix.de>
Mon, 25 May 2009 15:36:19 +0000 (17:36 +0200)
committerSascha Hauer <s.hauer@pengutronix.de>
Fri, 7 Aug 2009 10:10:54 +0000 (12:10 +0200)
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
22 files changed:
arch/arm/mach-mx1/generic.c
arch/arm/mach-mx1/mx1ads.c
arch/arm/mach-mx1/scb9328.c
arch/arm/mach-mx2/generic.c
arch/arm/mach-mx2/mx21ads.c
arch/arm/mach-mx2/mx27ads.c
arch/arm/mach-mx2/mx27lite.c
arch/arm/mach-mx2/mx27pdk.c
arch/arm/mach-mx2/pcm038.c
arch/arm/mach-mx3/armadillo5x0.c
arch/arm/mach-mx3/mm.c
arch/arm/mach-mx3/mx31ads.c
arch/arm/mach-mx3/mx31lilly.c
arch/arm/mach-mx3/mx31lite.c
arch/arm/mach-mx3/mx31moboard.c
arch/arm/mach-mx3/mx31pdk.c
arch/arm/mach-mx3/mx35pdk.c
arch/arm/mach-mx3/pcm037.c
arch/arm/mach-mx3/pcm043.c
arch/arm/mach-mx3/qong.c
arch/arm/plat-mxc/include/mach/common.h
arch/arm/plat-mxc/irq.c

index bbb6c7b..7f9fc10 100644 (file)
@@ -45,3 +45,9 @@ void __init mx1_map_io(void)
 
        iotable_init(imx_io_desc, ARRAY_SIZE(imx_io_desc));
 }
+
+void __init mx1_init_irq(void)
+{
+       mxc_init_irq(IO_ADDRESS(AVIC_BASE_ADDR));
+}
+
index e5b0c0a..6af064d 100644 (file)
@@ -151,7 +151,7 @@ MACHINE_START(MX1ADS, "Freescale MX1ADS")
        .io_pg_offst    = (IMX_IO_BASE >> 18) & 0xfffc,
        .boot_params    = PHYS_OFFSET + 0x100,
        .map_io         = mx1_map_io,
-       .init_irq       = mxc_init_irq,
+       .init_irq       = mx1_init_irq,
        .timer          = &mx1ads_timer,
        .init_machine   = mx1ads_init,
 MACHINE_END
@@ -161,7 +161,7 @@ MACHINE_START(MXLADS, "Freescale MXLADS")
        .io_pg_offst    = (IMX_IO_BASE >> 18) & 0xfffc,
        .boot_params    = PHYS_OFFSET + 0x100,
        .map_io         = mx1_map_io,
-       .init_irq       = mxc_init_irq,
+       .init_irq       = mx1_init_irq,
        .timer          = &mx1ads_timer,
        .init_machine   = mx1ads_init,
 MACHINE_END
index 20e0b5b..125d495 100644 (file)
@@ -154,7 +154,7 @@ MACHINE_START(SCB9328, "Synertronixx scb9328")
        .io_pg_offst    = ((0xe0200000) >> 18) & 0xfffc,
        .boot_params    = 0x08000100,
        .map_io         = mx1_map_io,
-       .init_irq       = mxc_init_irq,
+       .init_irq       = mx1_init_irq,
        .timer          = &scb9328_timer,
        .init_machine   = scb9328_init,
 MACHINE_END
index bdc5a6e..ae8f759 100644 (file)
@@ -85,3 +85,13 @@ void __init mx27_map_io(void)
        iotable_init(mxc_io_desc, ARRAY_SIZE(mxc_io_desc));
 }
 
+void __init mx27_init_irq(void)
+{
+       mxc_init_irq(IO_ADDRESS(AVIC_BASE_ADDR));
+}
+
+void __init mx21_init_irq(void)
+{
+       mx27_init_irq();
+}
+
index a5ee461..a525783 100644 (file)
@@ -280,7 +280,7 @@ MACHINE_START(MX21ADS, "Freescale i.MX21ADS")
        .io_pg_offst    = ((AIPI_BASE_ADDR_VIRT) >> 18) & 0xfffc,
        .boot_params    = PHYS_OFFSET + 0x100,
        .map_io         = mx21ads_map_io,
-       .init_irq       = mxc_init_irq,
+       .init_irq       = mx21_init_irq,
        .init_machine   = mx21ads_board_init,
        .timer          = &mx21ads_timer,
 MACHINE_END
index 02dadda..a9f69eb 100644 (file)
@@ -330,7 +330,7 @@ MACHINE_START(MX27ADS, "Freescale i.MX27ADS")
        .io_pg_offst    = ((AIPI_BASE_ADDR_VIRT) >> 18) & 0xfffc,
        .boot_params    = PHYS_OFFSET + 0x100,
        .map_io         = mx27ads_map_io,
-       .init_irq       = mxc_init_irq,
+       .init_irq       = mx27_init_irq,
        .init_machine   = mx27ads_board_init,
        .timer          = &mx27ads_timer,
 MACHINE_END
index 3ae11cb..82ea227 100644 (file)
@@ -89,7 +89,7 @@ MACHINE_START(IMX27LITE, "LogicPD i.MX27LITE")
        .io_pg_offst    = ((AIPI_BASE_ADDR_VIRT) >> 18) & 0xfffc,
        .boot_params    = PHYS_OFFSET + 0x100,
        .map_io         = mx27_map_io,
-       .init_irq       = mxc_init_irq,
+       .init_irq       = mx27_init_irq,
        .init_machine   = mx27lite_init,
        .timer          = &mx27lite_timer,
 MACHINE_END
index 1d9238c..6761d1b 100644 (file)
@@ -89,7 +89,7 @@ MACHINE_START(MX27_3DS, "Freescale MX27PDK")
        .io_pg_offst    = ((AIPI_BASE_ADDR_VIRT) >> 18) & 0xfffc,
        .boot_params    = PHYS_OFFSET + 0x100,
        .map_io         = mx27_map_io,
-       .init_irq       = mxc_init_irq,
+       .init_irq       = mx27_init_irq,
        .init_machine   = mx27pdk_init,
        .timer          = &mx27pdk_timer,
 MACHINE_END
index a4628d0..638d078 100644 (file)
@@ -241,7 +241,7 @@ MACHINE_START(PCM038, "phyCORE-i.MX27")
        .io_pg_offst    = ((AIPI_BASE_ADDR_VIRT) >> 18) & 0xfffc,
        .boot_params    = PHYS_OFFSET + 0x100,
        .map_io         = mx27_map_io,
-       .init_irq       = mxc_init_irq,
+       .init_irq       = mx27_init_irq,
        .init_machine   = pcm038_init,
        .timer          = &pcm038_timer,
 MACHINE_END
index ee331fd..776c0ee 100644 (file)
@@ -352,7 +352,7 @@ MACHINE_START(ARMADILLO5X0, "Armadillo-500")
        .io_pg_offst    = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc,
        .boot_params    = PHYS_OFFSET + 0x00000100,
        .map_io         = mx31_map_io,
-       .init_irq       = mxc_init_irq,
+       .init_irq       = mx31_init_irq,
        .timer          = &armadillo5x0_timer,
        .init_machine   = armadillo5x0_init,
 MACHINE_END
index f0d5ae5..c327172 100644 (file)
@@ -88,6 +88,16 @@ void __init mx35_map_io(void)
        iotable_init(mxc_io_desc, ARRAY_SIZE(mxc_io_desc));
 }
 
+void __init mx31_init_irq(void)
+{
+       mxc_init_irq(IO_ADDRESS(AVIC_BASE_ADDR));
+}
+
+void __init mx35_init_irq(void)
+{
+       mx31_init_irq();
+}
+
 #ifdef CONFIG_CACHE_L2X0
 static int mxc_init_l2x0(void)
 {
index 30e2767..0497c15 100644 (file)
@@ -517,7 +517,7 @@ static void __init mx31ads_map_io(void)
 
 static void __init mx31ads_init_irq(void)
 {
-       mxc_init_irq();
+       mx31_init_irq();
        mx31ads_init_expio();
 }
 
index 6ab2f16..4230251 100644 (file)
@@ -148,7 +148,7 @@ MACHINE_START(LILLY1131, "INCO startec LILLY-1131")
        .io_pg_offst    = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc,
        .boot_params    = PHYS_OFFSET + 0x100,
        .map_io         = mx31_map_io,
-       .init_irq       = mxc_init_irq,
+       .init_irq       = mx31_init_irq,
        .init_machine   = mx31lilly_board_init,
        .timer          = &mx31lilly_timer,
 MACHINE_END
index 86fe70f..b1c0afc 100644 (file)
@@ -162,7 +162,7 @@ MACHINE_START(MX31LITE, "LogicPD MX31 LITEKIT")
        .io_pg_offst    = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc,
        .boot_params    = PHYS_OFFSET + 0x100,
        .map_io         = mx31lite_map_io,
-       .init_irq       = mxc_init_irq,
+       .init_irq       = mx31_init_irq,
        .init_machine   = mxc_board_init,
        .timer          = &mx31lite_timer,
 MACHINE_END
index a17f2e4..b86b8a7 100644 (file)
@@ -36,6 +36,7 @@
 #include <mach/iomux-mx3.h>
 #include <mach/i2c.h>
 #include <mach/mmc.h>
+#include <mach/mx31.h>
 
 #include "devices.h"
 
@@ -197,7 +198,7 @@ MACHINE_START(MX31MOBOARD, "EPFL Mobots mx31moboard")
        .io_pg_offst    = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc,
        .boot_params    = PHYS_OFFSET + 0x100,
        .map_io         = mx31_map_io,
-       .init_irq       = mxc_init_irq,
+       .init_irq       = mx31_init_irq,
        .init_machine   = mxc_board_init,
        .timer          = &mx31moboard_timer,
 MACHINE_END
index c19838d..0f7a2f0 100644 (file)
@@ -265,7 +265,7 @@ MACHINE_START(MX31_3DS, "Freescale MX31PDK (3DS)")
        .io_pg_offst    = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc,
        .boot_params    = PHYS_OFFSET + 0x100,
        .map_io         = mx31pdk_map_io,
-       .init_irq       = mxc_init_irq,
+       .init_irq       = mx31_init_irq,
        .init_machine   = mxc_board_init,
        .timer          = &mx31pdk_timer,
 MACHINE_END
index 6d15374..6ff186e 100644 (file)
@@ -98,7 +98,7 @@ MACHINE_START(MX35_3DS, "Freescale MX35PDK")
        .io_pg_offst    = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc,
        .boot_params    = PHYS_OFFSET + 0x100,
        .map_io         = mx35_map_io,
-       .init_irq       = mxc_init_irq,
+       .init_irq       = mx35_init_irq,
        .init_machine   = mxc_board_init,
        .timer          = &mx35pdk_timer,
 MACHINE_END
index 840cfda..d847220 100644 (file)
@@ -592,7 +592,7 @@ MACHINE_START(PCM037, "Phytec Phycore pcm037")
        .io_pg_offst    = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc,
        .boot_params    = PHYS_OFFSET + 0x100,
        .map_io         = mx31_map_io,
-       .init_irq       = mxc_init_irq,
+       .init_irq       = mx31_init_irq,
        .init_machine   = mxc_board_init,
        .timer          = &pcm037_timer,
 MACHINE_END
index 8d27c32..7c7d3cc 100644 (file)
@@ -245,7 +245,7 @@ MACHINE_START(PCM043, "Phytec Phycore pcm043")
        .io_pg_offst    = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc,
        .boot_params    = PHYS_OFFSET + 0x100,
        .map_io         = mx35_map_io,
-       .init_irq       = mxc_init_irq,
+       .init_irq       = mx35_init_irq,
        .init_machine   = mxc_board_init,
        .timer          = &pcm043_timer,
 MACHINE_END
index 82b31c4..0bca4d9 100644 (file)
@@ -280,7 +280,7 @@ MACHINE_START(QONG, "Dave/DENX QongEVB-LITE")
        .io_pg_offst    = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc,
        .boot_params    = PHYS_OFFSET + 0x100,
        .map_io         = mx31_map_io,
-       .init_irq       = mxc_init_irq,
+       .init_irq       = mx31_init_irq,
        .init_machine   = mxc_board_init,
        .timer          = &qong_timer,
 MACHINE_END
index 1dc31d6..cd8f215 100644 (file)
@@ -19,7 +19,12 @@ extern void mx21_map_io(void);
 extern void mx27_map_io(void);
 extern void mx31_map_io(void);
 extern void mx35_map_io(void);
-extern void mxc_init_irq(void);
+extern void mxc_init_irq(void __iomem *);
+extern void mx1_init_irq(void);
+extern void mx21_init_irq(void);
+extern void mx27_init_irq(void);
+extern void mx31_init_irq(void);
+extern void mx35_init_irq(void);
 extern void mxc_timer_init(struct clk *timer_clk, void __iomem *, int);
 extern int mx1_clocks_init(unsigned long fref);
 extern int mx21_clocks_init(unsigned long lref, unsigned long fref);
index 8aee763..618a8b2 100644 (file)
@@ -113,11 +113,11 @@ static struct irq_chip mxc_avic_chip = {
  * interrupts. It registers the interrupt enable and disable functions
  * to the kernel for each interrupt source.
  */
-void __init mxc_init_irq(void)
+void __init mxc_init_irq(void __iomem *irqbase)
 {
        int i;
 
-       avic_base = IO_ADDRESS(AVIC_BASE_ADDR);
+       avic_base = irqbase;
 
        /* put the AVIC into the reset value with
         * all interrupts disabled