From: Jason Wang Date: Tue, 13 Jul 2010 13:02:42 +0000 (+0800) Subject: imx: move gpio init after to irq init X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=84659ab5851aae05035a41b378c4c9aca2d2aeb4;p=deliverable%2Flinux.git 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 Tested-by: Eric BĂ©nard Signed-off-by: Sascha Hauer --- 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); void __init mx1_init_irq(void) { - imx1_register_gpios(); mxc_init_irq(MX1_IO_ADDRESS(MX1_AVIC_BASE_ADDR)); + imx1_register_gpios(); } 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); void __init mx21_init_irq(void) { - imx21_register_gpios(); mxc_init_irq(MX21_IO_ADDRESS(MX21_AVIC_BASE_ADDR)); + imx21_register_gpios(); } 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); void __init mx27_init_irq(void) { - imx27_register_gpios(); mxc_init_irq(MX27_IO_ADDRESS(MX27_AVIC_BASE_ADDR)); + imx27_register_gpios(); } 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); void __init mx25_init_irq(void) { - imx25_register_gpios(); mxc_init_irq((void __iomem *)MX25_AVIC_BASE_ADDR_VIRT); + imx25_register_gpios(); } 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); void __init mx31_init_irq(void) { - imx3x_register_gpios(); mxc_init_irq(IO_ADDRESS(AVIC_BASE_ADDR)); + imx3x_register_gpios(); } void __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) if (!tzic_virt) panic("unable to map TZIC interrupt controller\n"); - imx51_register_gpios(); tzic_init_irq(tzic_virt); + imx51_register_gpios(); }