aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Wang <jason77.wang@gmail.com>2010-07-13 09:02:42 -0400
committerSascha Hauer <s.hauer@pengutronix.de>2010-07-26 09:05:35 -0400
commit84659ab5851aae05035a41b378c4c9aca2d2aeb4 (patch)
tree1c883decb4bd2c881cc5cf89e57a0699400f270c
parent95afd090752a1f7dab6f4b24b1b0d12593e643bb (diff)
imx: move gpio init after to irq init
The commit 9a763bf "get rid of mxc_gpio_init" changed gpio_init and irq_init sequence. Usually we will call set_irq_chained_handler in gpio_init functions, this should be called after the irq_init called, otherwise the chained irq can't get propoer irq_chip and this irq will remain masked even we called set_irq_chained_handler. Signed-off-by: Jason Wang <jason77.wang@gmail.com> Tested-by: Eric BĂ©nard <eric@eukrea.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/arm/mach-imx/mm-imx1.c2
-rw-r--r--arch/arm/mach-imx/mm-imx21.c2
-rw-r--r--arch/arm/mach-imx/mm-imx27.c2
-rw-r--r--arch/arm/mach-mx25/mm.c2
-rw-r--r--arch/arm/mach-mx3/mm.c2
-rw-r--r--arch/arm/mach-mx5/mm.c2
6 files changed, 6 insertions, 6 deletions
diff --git a/arch/arm/mach-imx/mm-imx1.c b/arch/arm/mach-imx/mm-imx1.c
index 117ebf6bc951..9be92b96dc89 100644
--- a/arch/arm/mach-imx/mm-imx1.c
+++ b/arch/arm/mach-imx/mm-imx1.c
@@ -45,6 +45,6 @@ int imx1_register_gpios(void);
45 45
46void __init mx1_init_irq(void) 46void __init mx1_init_irq(void)
47{ 47{
48 imx1_register_gpios();
49 mxc_init_irq(MX1_IO_ADDRESS(MX1_AVIC_BASE_ADDR)); 48 mxc_init_irq(MX1_IO_ADDRESS(MX1_AVIC_BASE_ADDR));
49 imx1_register_gpios();
50} 50}
diff --git a/arch/arm/mach-imx/mm-imx21.c b/arch/arm/mach-imx/mm-imx21.c
index 68aa5d2ecdb1..12faeeaa0a97 100644
--- a/arch/arm/mach-imx/mm-imx21.c
+++ b/arch/arm/mach-imx/mm-imx21.c
@@ -81,6 +81,6 @@ int imx21_register_gpios(void);
81 81
82void __init mx21_init_irq(void) 82void __init mx21_init_irq(void)
83{ 83{
84 imx21_register_gpios();
85 mxc_init_irq(MX21_IO_ADDRESS(MX21_AVIC_BASE_ADDR)); 84 mxc_init_irq(MX21_IO_ADDRESS(MX21_AVIC_BASE_ADDR));
85 imx21_register_gpios();
86} 86}
diff --git a/arch/arm/mach-imx/mm-imx27.c b/arch/arm/mach-imx/mm-imx27.c
index bcedce9c87dd..a24622957ff2 100644
--- a/arch/arm/mach-imx/mm-imx27.c
+++ b/arch/arm/mach-imx/mm-imx27.c
@@ -81,6 +81,6 @@ int imx27_register_gpios(void);
81 81
82void __init mx27_init_irq(void) 82void __init mx27_init_irq(void)
83{ 83{
84 imx27_register_gpios();
85 mxc_init_irq(MX27_IO_ADDRESS(MX27_AVIC_BASE_ADDR)); 84 mxc_init_irq(MX27_IO_ADDRESS(MX27_AVIC_BASE_ADDR));
85 imx27_register_gpios();
86} 86}
diff --git a/arch/arm/mach-mx25/mm.c b/arch/arm/mach-mx25/mm.c
index 593e14545f5a..bb677111fb0f 100644
--- a/arch/arm/mach-mx25/mm.c
+++ b/arch/arm/mach-mx25/mm.c
@@ -69,7 +69,7 @@ int imx25_register_gpios(void);
69 69
70void __init mx25_init_irq(void) 70void __init mx25_init_irq(void)
71{ 71{
72 imx25_register_gpios();
73 mxc_init_irq((void __iomem *)MX25_AVIC_BASE_ADDR_VIRT); 72 mxc_init_irq((void __iomem *)MX25_AVIC_BASE_ADDR_VIRT);
73 imx25_register_gpios();
74} 74}
75 75
diff --git a/arch/arm/mach-mx3/mm.c b/arch/arm/mach-mx3/mm.c
index a378fba49a8b..20e48c0195c4 100644
--- a/arch/arm/mach-mx3/mm.c
+++ b/arch/arm/mach-mx3/mm.c
@@ -97,8 +97,8 @@ int imx3x_register_gpios(void);
97 97
98void __init mx31_init_irq(void) 98void __init mx31_init_irq(void)
99{ 99{
100 imx3x_register_gpios();
101 mxc_init_irq(IO_ADDRESS(AVIC_BASE_ADDR)); 100 mxc_init_irq(IO_ADDRESS(AVIC_BASE_ADDR));
101 imx3x_register_gpios();
102} 102}
103 103
104void __init mx35_init_irq(void) 104void __init mx35_init_irq(void)
diff --git a/arch/arm/mach-mx5/mm.c b/arch/arm/mach-mx5/mm.c
index 2f79722508cf..bc3f30db8d9a 100644
--- a/arch/arm/mach-mx5/mm.c
+++ b/arch/arm/mach-mx5/mm.c
@@ -81,6 +81,6 @@ void __init mx51_init_irq(void)
81 if (!tzic_virt) 81 if (!tzic_virt)
82 panic("unable to map TZIC interrupt controller\n"); 82 panic("unable to map TZIC interrupt controller\n");
83 83
84 imx51_register_gpios();
85 tzic_init_irq(tzic_virt); 84 tzic_init_irq(tzic_virt);
85 imx51_register_gpios();
86} 86}