aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorAlexander Shiyan <shc_work@mail.ru>2014-05-11 03:35:57 -0400
committerShawn Guo <shawn.guo@freescale.com>2014-05-12 10:58:51 -0400
commit000bf9ee89b4c921173cf49c0329a673aa08f516 (patch)
tree45935fdabcffcb2a3eb04b9095c15d6c45895c29 /arch/arm
parentd4e7d9427d058614158cbe408ae3938cfb77679f (diff)
ARM: i.MX: Setup IRQ handler from IRQ driver
This patch moves IRQ handler setup to the its corresponded IRQ driver (AVIC, TZIC). Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-imx/avic.c4
-rw-r--r--arch/arm/mach-imx/common.h13
-rw-r--r--arch/arm/mach-imx/imx25-dt.c1
-rw-r--r--arch/arm/mach-imx/imx27-dt.c1
-rw-r--r--arch/arm/mach-imx/imx31-dt.c1
-rw-r--r--arch/arm/mach-imx/imx35-dt.c1
-rw-r--r--arch/arm/mach-imx/imx51-dt.c1
-rw-r--r--arch/arm/mach-imx/mach-apf9328.c1
-rw-r--r--arch/arm/mach-imx/mach-armadillo5x0.c1
-rw-r--r--arch/arm/mach-imx/mach-bug.c1
-rw-r--r--arch/arm/mach-imx/mach-cpuimx27.c1
-rw-r--r--arch/arm/mach-imx/mach-cpuimx35.c1
-rw-r--r--arch/arm/mach-imx/mach-cpuimx51sd.c1
-rw-r--r--arch/arm/mach-imx/mach-eukrea_cpuimx25.c1
-rw-r--r--arch/arm/mach-imx/mach-imx27_visstrim_m10.c1
-rw-r--r--arch/arm/mach-imx/mach-imx27ipcam.c1
-rw-r--r--arch/arm/mach-imx/mach-imx27lite.c1
-rw-r--r--arch/arm/mach-imx/mach-imx50.c1
-rw-r--r--arch/arm/mach-imx/mach-imx53.c1
-rw-r--r--arch/arm/mach-imx/mach-kzm_arm11_01.c1
-rw-r--r--arch/arm/mach-imx/mach-mx1ads.c2
-rw-r--r--arch/arm/mach-imx/mach-mx21ads.c1
-rw-r--r--arch/arm/mach-imx/mach-mx25_3ds.c1
-rw-r--r--arch/arm/mach-imx/mach-mx27_3ds.c1
-rw-r--r--arch/arm/mach-imx/mach-mx27ads.c1
-rw-r--r--arch/arm/mach-imx/mach-mx31_3ds.c1
-rw-r--r--arch/arm/mach-imx/mach-mx31ads.c1
-rw-r--r--arch/arm/mach-imx/mach-mx31lilly.c1
-rw-r--r--arch/arm/mach-imx/mach-mx31lite.c1
-rw-r--r--arch/arm/mach-imx/mach-mx31moboard.c1
-rw-r--r--arch/arm/mach-imx/mach-mx35_3ds.c1
-rw-r--r--arch/arm/mach-imx/mach-mxt_td60.c1
-rw-r--r--arch/arm/mach-imx/mach-pca100.c1
-rw-r--r--arch/arm/mach-imx/mach-pcm037.c1
-rw-r--r--arch/arm/mach-imx/mach-pcm038.c1
-rw-r--r--arch/arm/mach-imx/mach-pcm043.c1
-rw-r--r--arch/arm/mach-imx/mach-qong.c1
-rw-r--r--arch/arm/mach-imx/mach-scb9328.c1
-rw-r--r--arch/arm/mach-imx/mach-vpr200.c1
-rw-r--r--arch/arm/mach-imx/tzic.c4
40 files changed, 6 insertions, 53 deletions
diff --git a/arch/arm/mach-imx/avic.c b/arch/arm/mach-imx/avic.c
index 8d1df2e4b7ac..24b103c67f82 100644
--- a/arch/arm/mach-imx/avic.c
+++ b/arch/arm/mach-imx/avic.c
@@ -135,7 +135,7 @@ static __init void avic_init_gc(int idx, unsigned int irq_start)
135 irq_setup_generic_chip(gc, IRQ_MSK(32), 0, IRQ_NOREQUEST, 0); 135 irq_setup_generic_chip(gc, IRQ_MSK(32), 0, IRQ_NOREQUEST, 0);
136} 136}
137 137
138asmlinkage void __exception_irq_entry avic_handle_irq(struct pt_regs *regs) 138static void __exception_irq_entry avic_handle_irq(struct pt_regs *regs)
139{ 139{
140 u32 nivector; 140 u32 nivector;
141 141
@@ -190,6 +190,8 @@ void __init mxc_init_irq(void __iomem *irqbase)
190 for (i = 0; i < 8; i++) 190 for (i = 0; i < 8; i++)
191 __raw_writel(0, avic_base + AVIC_NIPRIORITY(i)); 191 __raw_writel(0, avic_base + AVIC_NIPRIORITY(i));
192 192
193 set_handle_irq(avic_handle_irq);
194
193#ifdef CONFIG_FIQ 195#ifdef CONFIG_FIQ
194 /* Initialize FIQ */ 196 /* Initialize FIQ */
195 init_FIQ(FIQ_START); 197 init_FIQ(FIQ_START);
diff --git a/arch/arm/mach-imx/common.h b/arch/arm/mach-imx/common.h
index 4facd01d1c75..9ab785ce13e8 100644
--- a/arch/arm/mach-imx/common.h
+++ b/arch/arm/mach-imx/common.h
@@ -101,19 +101,6 @@ enum mx3_cpu_pwr_mode {
101void mx3_cpu_lp_set(enum mx3_cpu_pwr_mode mode); 101void mx3_cpu_lp_set(enum mx3_cpu_pwr_mode mode);
102void imx_print_silicon_rev(const char *cpu, int srev); 102void imx_print_silicon_rev(const char *cpu, int srev);
103 103
104void avic_handle_irq(struct pt_regs *);
105void tzic_handle_irq(struct pt_regs *);
106
107#define imx1_handle_irq avic_handle_irq
108#define imx21_handle_irq avic_handle_irq
109#define imx25_handle_irq avic_handle_irq
110#define imx27_handle_irq avic_handle_irq
111#define imx31_handle_irq avic_handle_irq
112#define imx35_handle_irq avic_handle_irq
113#define imx50_handle_irq tzic_handle_irq
114#define imx51_handle_irq tzic_handle_irq
115#define imx53_handle_irq tzic_handle_irq
116
117void imx_enable_cpu(int cpu, bool enable); 104void imx_enable_cpu(int cpu, bool enable);
118void imx_set_cpu_jump(int cpu, void *jump_addr); 105void imx_set_cpu_jump(int cpu, void *jump_addr);
119u32 imx_get_cpu_arg(int cpu); 106u32 imx_get_cpu_arg(int cpu);
diff --git a/arch/arm/mach-imx/imx25-dt.c b/arch/arm/mach-imx/imx25-dt.c
index 3e1ec5ffe630..42a65e067443 100644
--- a/arch/arm/mach-imx/imx25-dt.c
+++ b/arch/arm/mach-imx/imx25-dt.c
@@ -38,7 +38,6 @@ DT_MACHINE_START(IMX25_DT, "Freescale i.MX25 (Device Tree Support)")
38 .map_io = mx25_map_io, 38 .map_io = mx25_map_io,
39 .init_early = imx25_init_early, 39 .init_early = imx25_init_early,
40 .init_irq = mx25_init_irq, 40 .init_irq = mx25_init_irq,
41 .handle_irq = imx25_handle_irq,
42 .init_time = imx25_timer_init, 41 .init_time = imx25_timer_init,
43 .init_machine = imx25_dt_init, 42 .init_machine = imx25_dt_init,
44 .dt_compat = imx25_dt_board_compat, 43 .dt_compat = imx25_dt_board_compat,
diff --git a/arch/arm/mach-imx/imx27-dt.c b/arch/arm/mach-imx/imx27-dt.c
index 4e235ecb4021..17bd4058133d 100644
--- a/arch/arm/mach-imx/imx27-dt.c
+++ b/arch/arm/mach-imx/imx27-dt.c
@@ -43,7 +43,6 @@ DT_MACHINE_START(IMX27_DT, "Freescale i.MX27 (Device Tree Support)")
43 .map_io = mx27_map_io, 43 .map_io = mx27_map_io,
44 .init_early = imx27_init_early, 44 .init_early = imx27_init_early,
45 .init_irq = mx27_init_irq, 45 .init_irq = mx27_init_irq,
46 .handle_irq = imx27_handle_irq,
47 .init_time = imx27_timer_init, 46 .init_time = imx27_timer_init,
48 .init_machine = imx27_dt_init, 47 .init_machine = imx27_dt_init,
49 .dt_compat = imx27_dt_board_compat, 48 .dt_compat = imx27_dt_board_compat,
diff --git a/arch/arm/mach-imx/imx31-dt.c b/arch/arm/mach-imx/imx31-dt.c
index e1e70ef7bc2d..581f4d6c9b8a 100644
--- a/arch/arm/mach-imx/imx31-dt.c
+++ b/arch/arm/mach-imx/imx31-dt.c
@@ -39,7 +39,6 @@ DT_MACHINE_START(IMX31_DT, "Freescale i.MX31 (Device Tree Support)")
39 .map_io = mx31_map_io, 39 .map_io = mx31_map_io,
40 .init_early = imx31_init_early, 40 .init_early = imx31_init_early,
41 .init_irq = mx31_init_irq, 41 .init_irq = mx31_init_irq,
42 .handle_irq = imx31_handle_irq,
43 .init_time = imx31_dt_timer_init, 42 .init_time = imx31_dt_timer_init,
44 .init_machine = imx31_dt_init, 43 .init_machine = imx31_dt_init,
45 .dt_compat = imx31_dt_board_compat, 44 .dt_compat = imx31_dt_board_compat,
diff --git a/arch/arm/mach-imx/imx35-dt.c b/arch/arm/mach-imx/imx35-dt.c
index 9d48e0065a63..a62854c59240 100644
--- a/arch/arm/mach-imx/imx35-dt.c
+++ b/arch/arm/mach-imx/imx35-dt.c
@@ -43,7 +43,6 @@ DT_MACHINE_START(IMX35_DT, "Freescale i.MX35 (Device Tree Support)")
43 .map_io = mx35_map_io, 43 .map_io = mx35_map_io,
44 .init_early = imx35_init_early, 44 .init_early = imx35_init_early,
45 .init_irq = imx35_irq_init, 45 .init_irq = imx35_irq_init,
46 .handle_irq = imx35_handle_irq,
47 .init_machine = imx35_dt_init, 46 .init_machine = imx35_dt_init,
48 .dt_compat = imx35_dt_board_compat, 47 .dt_compat = imx35_dt_board_compat,
49 .restart = mxc_restart, 48 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/imx51-dt.c b/arch/arm/mach-imx/imx51-dt.c
index 0230d78d1413..b8cd968faa52 100644
--- a/arch/arm/mach-imx/imx51-dt.c
+++ b/arch/arm/mach-imx/imx51-dt.c
@@ -38,7 +38,6 @@ DT_MACHINE_START(IMX51_DT, "Freescale i.MX51 (Device Tree Support)")
38 .map_io = mx51_map_io, 38 .map_io = mx51_map_io,
39 .init_early = imx51_init_early, 39 .init_early = imx51_init_early,
40 .init_irq = mx51_init_irq, 40 .init_irq = mx51_init_irq,
41 .handle_irq = imx51_handle_irq,
42 .init_machine = imx51_dt_init, 41 .init_machine = imx51_dt_init,
43 .init_late = imx51_init_late, 42 .init_late = imx51_init_late,
44 .dt_compat = imx51_dt_board_compat, 43 .dt_compat = imx51_dt_board_compat,
diff --git a/arch/arm/mach-imx/mach-apf9328.c b/arch/arm/mach-imx/mach-apf9328.c
index 067580b2969b..ebbb5ab63529 100644
--- a/arch/arm/mach-imx/mach-apf9328.c
+++ b/arch/arm/mach-imx/mach-apf9328.c
@@ -142,7 +142,6 @@ MACHINE_START(APF9328, "Armadeus APF9328")
142 .map_io = mx1_map_io, 142 .map_io = mx1_map_io,
143 .init_early = imx1_init_early, 143 .init_early = imx1_init_early,
144 .init_irq = mx1_init_irq, 144 .init_irq = mx1_init_irq,
145 .handle_irq = imx1_handle_irq,
146 .init_time = apf9328_timer_init, 145 .init_time = apf9328_timer_init,
147 .init_machine = apf9328_init, 146 .init_machine = apf9328_init,
148 .restart = mxc_restart, 147 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-armadillo5x0.c b/arch/arm/mach-imx/mach-armadillo5x0.c
index 58b864a3fc20..39406b7e3228 100644
--- a/arch/arm/mach-imx/mach-armadillo5x0.c
+++ b/arch/arm/mach-imx/mach-armadillo5x0.c
@@ -562,7 +562,6 @@ MACHINE_START(ARMADILLO5X0, "Armadillo-500")
562 .map_io = mx31_map_io, 562 .map_io = mx31_map_io,
563 .init_early = imx31_init_early, 563 .init_early = imx31_init_early,
564 .init_irq = mx31_init_irq, 564 .init_irq = mx31_init_irq,
565 .handle_irq = imx31_handle_irq,
566 .init_time = armadillo5x0_timer_init, 565 .init_time = armadillo5x0_timer_init,
567 .init_machine = armadillo5x0_init, 566 .init_machine = armadillo5x0_init,
568 .restart = mxc_restart, 567 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-bug.c b/arch/arm/mach-imx/mach-bug.c
index 2d00476f7d2c..c97d7cb39135 100644
--- a/arch/arm/mach-imx/mach-bug.c
+++ b/arch/arm/mach-imx/mach-bug.c
@@ -57,7 +57,6 @@ MACHINE_START(BUG, "BugLabs BUGBase")
57 .map_io = mx31_map_io, 57 .map_io = mx31_map_io,
58 .init_early = imx31_init_early, 58 .init_early = imx31_init_early,
59 .init_irq = mx31_init_irq, 59 .init_irq = mx31_init_irq,
60 .handle_irq = imx31_handle_irq,
61 .init_time = bug_timer_init, 60 .init_time = bug_timer_init,
62 .init_machine = bug_board_init, 61 .init_machine = bug_board_init,
63 .restart = mxc_restart, 62 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-cpuimx27.c b/arch/arm/mach-imx/mach-cpuimx27.c
index ea50870bda80..75b7b6aa2720 100644
--- a/arch/arm/mach-imx/mach-cpuimx27.c
+++ b/arch/arm/mach-imx/mach-cpuimx27.c
@@ -314,7 +314,6 @@ MACHINE_START(EUKREA_CPUIMX27, "EUKREA CPUIMX27")
314 .map_io = mx27_map_io, 314 .map_io = mx27_map_io,
315 .init_early = imx27_init_early, 315 .init_early = imx27_init_early,
316 .init_irq = mx27_init_irq, 316 .init_irq = mx27_init_irq,
317 .handle_irq = imx27_handle_irq,
318 .init_time = eukrea_cpuimx27_timer_init, 317 .init_time = eukrea_cpuimx27_timer_init,
319 .init_machine = eukrea_cpuimx27_init, 318 .init_machine = eukrea_cpuimx27_init,
320 .restart = mxc_restart, 319 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-cpuimx35.c b/arch/arm/mach-imx/mach-cpuimx35.c
index 65e4c53e1554..1ffa27169045 100644
--- a/arch/arm/mach-imx/mach-cpuimx35.c
+++ b/arch/arm/mach-imx/mach-cpuimx35.c
@@ -199,7 +199,6 @@ MACHINE_START(EUKREA_CPUIMX35SD, "Eukrea CPUIMX35")
199 .map_io = mx35_map_io, 199 .map_io = mx35_map_io,
200 .init_early = imx35_init_early, 200 .init_early = imx35_init_early,
201 .init_irq = mx35_init_irq, 201 .init_irq = mx35_init_irq,
202 .handle_irq = imx35_handle_irq,
203 .init_time = eukrea_cpuimx35_timer_init, 202 .init_time = eukrea_cpuimx35_timer_init,
204 .init_machine = eukrea_cpuimx35_init, 203 .init_machine = eukrea_cpuimx35_init,
205 .restart = mxc_restart, 204 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-cpuimx51sd.c b/arch/arm/mach-imx/mach-cpuimx51sd.c
index 1fba2b8e983f..ef9d8d3762b2 100644
--- a/arch/arm/mach-imx/mach-cpuimx51sd.c
+++ b/arch/arm/mach-imx/mach-cpuimx51sd.c
@@ -356,7 +356,6 @@ MACHINE_START(EUKREA_CPUIMX51SD, "Eukrea CPUIMX51SD")
356 .map_io = mx51_map_io, 356 .map_io = mx51_map_io,
357 .init_early = imx51_init_early, 357 .init_early = imx51_init_early,
358 .init_irq = mx51_init_irq, 358 .init_irq = mx51_init_irq,
359 .handle_irq = imx51_handle_irq,
360 .init_time = eukrea_cpuimx51sd_timer_init, 359 .init_time = eukrea_cpuimx51sd_timer_init,
361 .init_machine = eukrea_cpuimx51sd_init, 360 .init_machine = eukrea_cpuimx51sd_init,
362 .init_late = imx51_init_late, 361 .init_late = imx51_init_late,
diff --git a/arch/arm/mach-imx/mach-eukrea_cpuimx25.c b/arch/arm/mach-imx/mach-eukrea_cpuimx25.c
index 4bf454424249..e978dda1434c 100644
--- a/arch/arm/mach-imx/mach-eukrea_cpuimx25.c
+++ b/arch/arm/mach-imx/mach-eukrea_cpuimx25.c
@@ -165,7 +165,6 @@ MACHINE_START(EUKREA_CPUIMX25SD, "Eukrea CPUIMX25")
165 .map_io = mx25_map_io, 165 .map_io = mx25_map_io,
166 .init_early = imx25_init_early, 166 .init_early = imx25_init_early,
167 .init_irq = mx25_init_irq, 167 .init_irq = mx25_init_irq,
168 .handle_irq = imx25_handle_irq,
169 .init_time = eukrea_cpuimx25_timer_init, 168 .init_time = eukrea_cpuimx25_timer_init,
170 .init_machine = eukrea_cpuimx25_init, 169 .init_machine = eukrea_cpuimx25_init,
171 .restart = mxc_restart, 170 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
index 97f9c6297fcf..b61bd8ed5568 100644
--- a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
+++ b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
@@ -604,7 +604,6 @@ MACHINE_START(IMX27_VISSTRIM_M10, "Vista Silicon Visstrim_M10")
604 .map_io = mx27_map_io, 604 .map_io = mx27_map_io,
605 .init_early = imx27_init_early, 605 .init_early = imx27_init_early,
606 .init_irq = mx27_init_irq, 606 .init_irq = mx27_init_irq,
607 .handle_irq = imx27_handle_irq,
608 .init_time = visstrim_m10_timer_init, 607 .init_time = visstrim_m10_timer_init,
609 .init_machine = visstrim_m10_board_init, 608 .init_machine = visstrim_m10_board_init,
610 .restart = mxc_restart, 609 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-imx27ipcam.c b/arch/arm/mach-imx/mach-imx27ipcam.c
index 1a851aea6832..bb3ca0429680 100644
--- a/arch/arm/mach-imx/mach-imx27ipcam.c
+++ b/arch/arm/mach-imx/mach-imx27ipcam.c
@@ -71,7 +71,6 @@ MACHINE_START(IMX27IPCAM, "Freescale IMX27IPCAM")
71 .map_io = mx27_map_io, 71 .map_io = mx27_map_io,
72 .init_early = imx27_init_early, 72 .init_early = imx27_init_early,
73 .init_irq = mx27_init_irq, 73 .init_irq = mx27_init_irq,
74 .handle_irq = imx27_handle_irq,
75 .init_time = mx27ipcam_timer_init, 74 .init_time = mx27ipcam_timer_init,
76 .init_machine = mx27ipcam_init, 75 .init_machine = mx27ipcam_init,
77 .restart = mxc_restart, 76 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-imx27lite.c b/arch/arm/mach-imx/mach-imx27lite.c
index 3da2e3e44ce9..9992089d3ad1 100644
--- a/arch/arm/mach-imx/mach-imx27lite.c
+++ b/arch/arm/mach-imx/mach-imx27lite.c
@@ -77,7 +77,6 @@ MACHINE_START(IMX27LITE, "LogicPD i.MX27LITE")
77 .map_io = mx27_map_io, 77 .map_io = mx27_map_io,
78 .init_early = imx27_init_early, 78 .init_early = imx27_init_early,
79 .init_irq = mx27_init_irq, 79 .init_irq = mx27_init_irq,
80 .handle_irq = imx27_handle_irq,
81 .init_time = mx27lite_timer_init, 80 .init_time = mx27lite_timer_init,
82 .init_machine = mx27lite_init, 81 .init_machine = mx27lite_init,
83 .restart = mxc_restart, 82 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-imx50.c b/arch/arm/mach-imx/mach-imx50.c
index 77b77a92bb5d..b899c0b59afd 100644
--- a/arch/arm/mach-imx/mach-imx50.c
+++ b/arch/arm/mach-imx/mach-imx50.c
@@ -31,7 +31,6 @@ static const char *imx50_dt_board_compat[] __initconst = {
31DT_MACHINE_START(IMX50_DT, "Freescale i.MX50 (Device Tree Support)") 31DT_MACHINE_START(IMX50_DT, "Freescale i.MX50 (Device Tree Support)")
32 .map_io = mx53_map_io, 32 .map_io = mx53_map_io,
33 .init_irq = mx53_init_irq, 33 .init_irq = mx53_init_irq,
34 .handle_irq = imx50_handle_irq,
35 .init_machine = imx50_dt_init, 34 .init_machine = imx50_dt_init,
36 .dt_compat = imx50_dt_board_compat, 35 .dt_compat = imx50_dt_board_compat,
37 .restart = mxc_restart, 36 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-imx53.c b/arch/arm/mach-imx/mach-imx53.c
index 65850908a4b4..2bad387956c0 100644
--- a/arch/arm/mach-imx/mach-imx53.c
+++ b/arch/arm/mach-imx/mach-imx53.c
@@ -40,7 +40,6 @@ DT_MACHINE_START(IMX53_DT, "Freescale i.MX53 (Device Tree Support)")
40 .map_io = mx53_map_io, 40 .map_io = mx53_map_io,
41 .init_early = imx53_init_early, 41 .init_early = imx53_init_early,
42 .init_irq = mx53_init_irq, 42 .init_irq = mx53_init_irq,
43 .handle_irq = imx53_handle_irq,
44 .init_machine = imx53_dt_init, 43 .init_machine = imx53_dt_init,
45 .init_late = imx53_init_late, 44 .init_late = imx53_init_late,
46 .dt_compat = imx53_dt_board_compat, 45 .dt_compat = imx53_dt_board_compat,
diff --git a/arch/arm/mach-imx/mach-kzm_arm11_01.c b/arch/arm/mach-imx/mach-kzm_arm11_01.c
index c7bc41d6b468..31df4361996f 100644
--- a/arch/arm/mach-imx/mach-kzm_arm11_01.c
+++ b/arch/arm/mach-imx/mach-kzm_arm11_01.c
@@ -289,7 +289,6 @@ MACHINE_START(KZM_ARM11_01, "Kyoto Microcomputer Co., Ltd. KZM-ARM11-01")
289 .map_io = kzm_map_io, 289 .map_io = kzm_map_io,
290 .init_early = imx31_init_early, 290 .init_early = imx31_init_early,
291 .init_irq = mx31_init_irq, 291 .init_irq = mx31_init_irq,
292 .handle_irq = imx31_handle_irq,
293 .init_time = kzm_timer_init, 292 .init_time = kzm_timer_init,
294 .init_machine = kzm_board_init, 293 .init_machine = kzm_board_init,
295 .restart = mxc_restart, 294 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-mx1ads.c b/arch/arm/mach-imx/mach-mx1ads.c
index 9f883e4d6fc9..77fda3de4290 100644
--- a/arch/arm/mach-imx/mach-mx1ads.c
+++ b/arch/arm/mach-imx/mach-mx1ads.c
@@ -138,7 +138,6 @@ MACHINE_START(MX1ADS, "Freescale MX1ADS")
138 .map_io = mx1_map_io, 138 .map_io = mx1_map_io,
139 .init_early = imx1_init_early, 139 .init_early = imx1_init_early,
140 .init_irq = mx1_init_irq, 140 .init_irq = mx1_init_irq,
141 .handle_irq = imx1_handle_irq,
142 .init_time = mx1ads_timer_init, 141 .init_time = mx1ads_timer_init,
143 .init_machine = mx1ads_init, 142 .init_machine = mx1ads_init,
144 .restart = mxc_restart, 143 .restart = mxc_restart,
@@ -149,7 +148,6 @@ MACHINE_START(MXLADS, "Freescale MXLADS")
149 .map_io = mx1_map_io, 148 .map_io = mx1_map_io,
150 .init_early = imx1_init_early, 149 .init_early = imx1_init_early,
151 .init_irq = mx1_init_irq, 150 .init_irq = mx1_init_irq,
152 .handle_irq = imx1_handle_irq,
153 .init_time = mx1ads_timer_init, 151 .init_time = mx1ads_timer_init,
154 .init_machine = mx1ads_init, 152 .init_machine = mx1ads_init,
155 .restart = mxc_restart, 153 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-mx21ads.c b/arch/arm/mach-imx/mach-mx21ads.c
index 30c30fdae53f..703ce31d7379 100644
--- a/arch/arm/mach-imx/mach-mx21ads.c
+++ b/arch/arm/mach-imx/mach-mx21ads.c
@@ -327,7 +327,6 @@ MACHINE_START(MX21ADS, "Freescale i.MX21ADS")
327 .map_io = mx21_map_io, 327 .map_io = mx21_map_io,
328 .init_early = imx21_init_early, 328 .init_early = imx21_init_early,
329 .init_irq = mx21_init_irq, 329 .init_irq = mx21_init_irq,
330 .handle_irq = imx21_handle_irq,
331 .init_time = mx21ads_timer_init, 330 .init_time = mx21ads_timer_init,
332 .init_machine = mx21ads_board_init, 331 .init_machine = mx21ads_board_init,
333 .restart = mxc_restart, 332 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-mx25_3ds.c b/arch/arm/mach-imx/mach-mx25_3ds.c
index 13490c203050..ea1fa199c148 100644
--- a/arch/arm/mach-imx/mach-mx25_3ds.c
+++ b/arch/arm/mach-imx/mach-mx25_3ds.c
@@ -263,7 +263,6 @@ MACHINE_START(MX25_3DS, "Freescale MX25PDK (3DS)")
263 .map_io = mx25_map_io, 263 .map_io = mx25_map_io,
264 .init_early = imx25_init_early, 264 .init_early = imx25_init_early,
265 .init_irq = mx25_init_irq, 265 .init_irq = mx25_init_irq,
266 .handle_irq = imx25_handle_irq,
267 .init_time = mx25pdk_timer_init, 266 .init_time = mx25pdk_timer_init,
268 .init_machine = mx25pdk_init, 267 .init_machine = mx25pdk_init,
269 .restart = mxc_restart, 268 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-mx27_3ds.c b/arch/arm/mach-imx/mach-mx27_3ds.c
index 25b3e4c9bc0a..435a5428a678 100644
--- a/arch/arm/mach-imx/mach-mx27_3ds.c
+++ b/arch/arm/mach-imx/mach-mx27_3ds.c
@@ -544,7 +544,6 @@ MACHINE_START(MX27_3DS, "Freescale MX27PDK")
544 .map_io = mx27_map_io, 544 .map_io = mx27_map_io,
545 .init_early = imx27_init_early, 545 .init_early = imx27_init_early,
546 .init_irq = mx27_init_irq, 546 .init_irq = mx27_init_irq,
547 .handle_irq = imx27_handle_irq,
548 .init_time = mx27pdk_timer_init, 547 .init_time = mx27pdk_timer_init,
549 .init_machine = mx27pdk_init, 548 .init_machine = mx27pdk_init,
550 .restart = mxc_restart, 549 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-mx27ads.c b/arch/arm/mach-imx/mach-mx27ads.c
index a7a4a9c67615..2f834ce8f39c 100644
--- a/arch/arm/mach-imx/mach-mx27ads.c
+++ b/arch/arm/mach-imx/mach-mx27ads.c
@@ -391,7 +391,6 @@ MACHINE_START(MX27ADS, "Freescale i.MX27ADS")
391 .map_io = mx27ads_map_io, 391 .map_io = mx27ads_map_io,
392 .init_early = imx27_init_early, 392 .init_early = imx27_init_early,
393 .init_irq = mx27_init_irq, 393 .init_irq = mx27_init_irq,
394 .handle_irq = imx27_handle_irq,
395 .init_time = mx27ads_timer_init, 394 .init_time = mx27ads_timer_init,
396 .init_machine = mx27ads_board_init, 395 .init_machine = mx27ads_board_init,
397 .restart = mxc_restart, 396 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-mx31_3ds.c b/arch/arm/mach-imx/mach-mx31_3ds.c
index 50044a21b388..4217871a9653 100644
--- a/arch/arm/mach-imx/mach-mx31_3ds.c
+++ b/arch/arm/mach-imx/mach-mx31_3ds.c
@@ -775,7 +775,6 @@ MACHINE_START(MX31_3DS, "Freescale MX31PDK (3DS)")
775 .map_io = mx31_map_io, 775 .map_io = mx31_map_io,
776 .init_early = imx31_init_early, 776 .init_early = imx31_init_early,
777 .init_irq = mx31_init_irq, 777 .init_irq = mx31_init_irq,
778 .handle_irq = imx31_handle_irq,
779 .init_time = mx31_3ds_timer_init, 778 .init_time = mx31_3ds_timer_init,
780 .init_machine = mx31_3ds_init, 779 .init_machine = mx31_3ds_init,
781 .reserve = mx31_3ds_reserve, 780 .reserve = mx31_3ds_reserve,
diff --git a/arch/arm/mach-imx/mach-mx31ads.c b/arch/arm/mach-imx/mach-mx31ads.c
index daf8889125cc..d08c37c696f6 100644
--- a/arch/arm/mach-imx/mach-mx31ads.c
+++ b/arch/arm/mach-imx/mach-mx31ads.c
@@ -582,7 +582,6 @@ MACHINE_START(MX31ADS, "Freescale MX31ADS")
582 .map_io = mx31ads_map_io, 582 .map_io = mx31ads_map_io,
583 .init_early = imx31_init_early, 583 .init_early = imx31_init_early,
584 .init_irq = mx31ads_init_irq, 584 .init_irq = mx31ads_init_irq,
585 .handle_irq = imx31_handle_irq,
586 .init_time = mx31ads_timer_init, 585 .init_time = mx31ads_timer_init,
587 .init_machine = mx31ads_init, 586 .init_machine = mx31ads_init,
588 .restart = mxc_restart, 587 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-mx31lilly.c b/arch/arm/mach-imx/mach-mx31lilly.c
index 832b1e2f964e..eee042fa2768 100644
--- a/arch/arm/mach-imx/mach-mx31lilly.c
+++ b/arch/arm/mach-imx/mach-mx31lilly.c
@@ -308,7 +308,6 @@ MACHINE_START(LILLY1131, "INCO startec LILLY-1131")
308 .map_io = mx31_map_io, 308 .map_io = mx31_map_io,
309 .init_early = imx31_init_early, 309 .init_early = imx31_init_early,
310 .init_irq = mx31_init_irq, 310 .init_irq = mx31_init_irq,
311 .handle_irq = imx31_handle_irq,
312 .init_time = mx31lilly_timer_init, 311 .init_time = mx31lilly_timer_init,
313 .init_machine = mx31lilly_board_init, 312 .init_machine = mx31lilly_board_init,
314 .restart = mxc_restart, 313 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-mx31lite.c b/arch/arm/mach-imx/mach-mx31lite.c
index bea07299b61a..fa15d0b6118d 100644
--- a/arch/arm/mach-imx/mach-mx31lite.c
+++ b/arch/arm/mach-imx/mach-mx31lite.c
@@ -291,7 +291,6 @@ MACHINE_START(MX31LITE, "LogicPD i.MX31 SOM")
291 .map_io = mx31lite_map_io, 291 .map_io = mx31lite_map_io,
292 .init_early = imx31_init_early, 292 .init_early = imx31_init_early,
293 .init_irq = mx31_init_irq, 293 .init_irq = mx31_init_irq,
294 .handle_irq = imx31_handle_irq,
295 .init_time = mx31lite_timer_init, 294 .init_time = mx31lite_timer_init,
296 .init_machine = mx31lite_init, 295 .init_machine = mx31lite_init,
297 .restart = mxc_restart, 296 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-mx31moboard.c b/arch/arm/mach-imx/mach-mx31moboard.c
index 8f45afe785f8..08730f238449 100644
--- a/arch/arm/mach-imx/mach-mx31moboard.c
+++ b/arch/arm/mach-imx/mach-mx31moboard.c
@@ -600,7 +600,6 @@ MACHINE_START(MX31MOBOARD, "EPFL Mobots mx31moboard")
600 .map_io = mx31_map_io, 600 .map_io = mx31_map_io,
601 .init_early = imx31_init_early, 601 .init_early = imx31_init_early,
602 .init_irq = mx31_init_irq, 602 .init_irq = mx31_init_irq,
603 .handle_irq = imx31_handle_irq,
604 .init_time = mx31moboard_timer_init, 603 .init_time = mx31moboard_timer_init,
605 .init_machine = mx31moboard_init, 604 .init_machine = mx31moboard_init,
606 .restart = mxc_restart, 605 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-mx35_3ds.c b/arch/arm/mach-imx/mach-mx35_3ds.c
index a42f4f07051f..4e8b184d773b 100644
--- a/arch/arm/mach-imx/mach-mx35_3ds.c
+++ b/arch/arm/mach-imx/mach-mx35_3ds.c
@@ -615,7 +615,6 @@ MACHINE_START(MX35_3DS, "Freescale MX35PDK")
615 .map_io = mx35_map_io, 615 .map_io = mx35_map_io,
616 .init_early = imx35_init_early, 616 .init_early = imx35_init_early,
617 .init_irq = mx35_init_irq, 617 .init_irq = mx35_init_irq,
618 .handle_irq = imx35_handle_irq,
619 .init_time = mx35pdk_timer_init, 618 .init_time = mx35pdk_timer_init,
620 .init_machine = mx35_3ds_init, 619 .init_machine = mx35_3ds_init,
621 .reserve = mx35_3ds_reserve, 620 .reserve = mx35_3ds_reserve,
diff --git a/arch/arm/mach-imx/mach-mxt_td60.c b/arch/arm/mach-imx/mach-mxt_td60.c
index c91894003da9..0b5d1ca31b9f 100644
--- a/arch/arm/mach-imx/mach-mxt_td60.c
+++ b/arch/arm/mach-imx/mach-mxt_td60.c
@@ -267,7 +267,6 @@ MACHINE_START(MXT_TD60, "Maxtrack i-MXT TD60")
267 .map_io = mx27_map_io, 267 .map_io = mx27_map_io,
268 .init_early = imx27_init_early, 268 .init_early = imx27_init_early,
269 .init_irq = mx27_init_irq, 269 .init_irq = mx27_init_irq,
270 .handle_irq = imx27_handle_irq,
271 .init_time = mxt_td60_timer_init, 270 .init_time = mxt_td60_timer_init,
272 .init_machine = mxt_td60_board_init, 271 .init_machine = mxt_td60_board_init,
273 .restart = mxc_restart, 272 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-pca100.c b/arch/arm/mach-imx/mach-pca100.c
index 20e7c331f182..12212378c672 100644
--- a/arch/arm/mach-imx/mach-pca100.c
+++ b/arch/arm/mach-imx/mach-pca100.c
@@ -420,7 +420,6 @@ MACHINE_START(PCA100, "phyCARD-i.MX27")
420 .map_io = mx27_map_io, 420 .map_io = mx27_map_io,
421 .init_early = imx27_init_early, 421 .init_early = imx27_init_early,
422 .init_irq = mx27_init_irq, 422 .init_irq = mx27_init_irq,
423 .handle_irq = imx27_handle_irq,
424 .init_machine = pca100_init, 423 .init_machine = pca100_init,
425 .init_time = pca100_timer_init, 424 .init_time = pca100_timer_init,
426 .restart = mxc_restart, 425 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-pcm037.c b/arch/arm/mach-imx/mach-pcm037.c
index 639a3dfb0092..81b8affb9448 100644
--- a/arch/arm/mach-imx/mach-pcm037.c
+++ b/arch/arm/mach-imx/mach-pcm037.c
@@ -703,7 +703,6 @@ MACHINE_START(PCM037, "Phytec Phycore pcm037")
703 .map_io = mx31_map_io, 703 .map_io = mx31_map_io,
704 .init_early = imx31_init_early, 704 .init_early = imx31_init_early,
705 .init_irq = mx31_init_irq, 705 .init_irq = mx31_init_irq,
706 .handle_irq = imx31_handle_irq,
707 .init_time = pcm037_timer_init, 706 .init_time = pcm037_timer_init,
708 .init_machine = pcm037_init, 707 .init_machine = pcm037_init,
709 .init_late = pcm037_init_late, 708 .init_late = pcm037_init_late,
diff --git a/arch/arm/mach-imx/mach-pcm038.c b/arch/arm/mach-imx/mach-pcm038.c
index 592ddbe031ac..6c56fb5553c7 100644
--- a/arch/arm/mach-imx/mach-pcm038.c
+++ b/arch/arm/mach-imx/mach-pcm038.c
@@ -351,7 +351,6 @@ MACHINE_START(PCM038, "phyCORE-i.MX27")
351 .map_io = mx27_map_io, 351 .map_io = mx27_map_io,
352 .init_early = imx27_init_early, 352 .init_early = imx27_init_early,
353 .init_irq = mx27_init_irq, 353 .init_irq = mx27_init_irq,
354 .handle_irq = imx27_handle_irq,
355 .init_time = pcm038_timer_init, 354 .init_time = pcm038_timer_init,
356 .init_machine = pcm038_init, 355 .init_machine = pcm038_init,
357 .restart = mxc_restart, 356 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-pcm043.c b/arch/arm/mach-imx/mach-pcm043.c
index ac504b67326b..c62b5d261345 100644
--- a/arch/arm/mach-imx/mach-pcm043.c
+++ b/arch/arm/mach-imx/mach-pcm043.c
@@ -400,7 +400,6 @@ MACHINE_START(PCM043, "Phytec Phycore pcm043")
400 .map_io = mx35_map_io, 400 .map_io = mx35_map_io,
401 .init_early = imx35_init_early, 401 .init_early = imx35_init_early,
402 .init_irq = mx35_init_irq, 402 .init_irq = mx35_init_irq,
403 .handle_irq = imx35_handle_irq,
404 .init_time = pcm043_timer_init, 403 .init_time = pcm043_timer_init,
405 .init_machine = pcm043_init, 404 .init_machine = pcm043_init,
406 .restart = mxc_restart, 405 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-qong.c b/arch/arm/mach-imx/mach-qong.c
index 22af27ed457e..a213e7b9cb1c 100644
--- a/arch/arm/mach-imx/mach-qong.c
+++ b/arch/arm/mach-imx/mach-qong.c
@@ -266,7 +266,6 @@ MACHINE_START(QONG, "Dave/DENX QongEVB-LITE")
266 .map_io = mx31_map_io, 266 .map_io = mx31_map_io,
267 .init_early = imx31_init_early, 267 .init_early = imx31_init_early,
268 .init_irq = mx31_init_irq, 268 .init_irq = mx31_init_irq,
269 .handle_irq = imx31_handle_irq,
270 .init_time = qong_timer_init, 269 .init_time = qong_timer_init,
271 .init_machine = qong_init, 270 .init_machine = qong_init,
272 .restart = mxc_restart, 271 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-scb9328.c b/arch/arm/mach-imx/mach-scb9328.c
index b0fa10dd79fe..1f6bc3f7ae14 100644
--- a/arch/arm/mach-imx/mach-scb9328.c
+++ b/arch/arm/mach-imx/mach-scb9328.c
@@ -137,7 +137,6 @@ MACHINE_START(SCB9328, "Synertronixx scb9328")
137 .map_io = mx1_map_io, 137 .map_io = mx1_map_io,
138 .init_early = imx1_init_early, 138 .init_early = imx1_init_early,
139 .init_irq = mx1_init_irq, 139 .init_irq = mx1_init_irq,
140 .handle_irq = imx1_handle_irq,
141 .init_time = scb9328_timer_init, 140 .init_time = scb9328_timer_init,
142 .init_machine = scb9328_init, 141 .init_machine = scb9328_init,
143 .restart = mxc_restart, 142 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-vpr200.c b/arch/arm/mach-imx/mach-vpr200.c
index 8825d1217d18..872b3c6ba408 100644
--- a/arch/arm/mach-imx/mach-vpr200.c
+++ b/arch/arm/mach-imx/mach-vpr200.c
@@ -310,7 +310,6 @@ MACHINE_START(VPR200, "VPR200")
310 .map_io = mx35_map_io, 310 .map_io = mx35_map_io,
311 .init_early = imx35_init_early, 311 .init_early = imx35_init_early,
312 .init_irq = mx35_init_irq, 312 .init_irq = mx35_init_irq,
313 .handle_irq = imx35_handle_irq,
314 .init_time = vpr200_timer_init, 313 .init_time = vpr200_timer_init,
315 .init_machine = vpr200_board_init, 314 .init_machine = vpr200_board_init,
316 .restart = mxc_restart, 315 .restart = mxc_restart,
diff --git a/arch/arm/mach-imx/tzic.c b/arch/arm/mach-imx/tzic.c
index 8183178d5aa3..7828af4b2022 100644
--- a/arch/arm/mach-imx/tzic.c
+++ b/arch/arm/mach-imx/tzic.c
@@ -125,7 +125,7 @@ static __init void tzic_init_gc(int idx, unsigned int irq_start)
125 irq_setup_generic_chip(gc, IRQ_MSK(32), 0, IRQ_NOREQUEST, 0); 125 irq_setup_generic_chip(gc, IRQ_MSK(32), 0, IRQ_NOREQUEST, 0);
126} 126}
127 127
128asmlinkage void __exception_irq_entry tzic_handle_irq(struct pt_regs *regs) 128static void __exception_irq_entry tzic_handle_irq(struct pt_regs *regs)
129{ 129{
130 u32 stat; 130 u32 stat;
131 int i, irqofs, handled; 131 int i, irqofs, handled;
@@ -189,6 +189,8 @@ void __init tzic_init_irq(void __iomem *irqbase)
189 for (i = 0; i < 4; i++, irq_base += 32) 189 for (i = 0; i < 4; i++, irq_base += 32)
190 tzic_init_gc(i, irq_base); 190 tzic_init_gc(i, irq_base);
191 191
192 set_handle_irq(tzic_handle_irq);
193
192#ifdef CONFIG_FIQ 194#ifdef CONFIG_FIQ
193 /* Initialize FIQ */ 195 /* Initialize FIQ */
194 init_FIQ(FIQ_START); 196 init_FIQ(FIQ_START);