aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx
diff options
context:
space:
mode:
authorVladimir Zapolskiy <vz@mleia.com>2016-09-18 21:37:15 -0400
committerShawn Guo <shawnguo@kernel.org>2016-09-20 10:34:51 -0400
commit894b7cbedf54a9eb0b41bce9c555f2afd944910f (patch)
treea60390219fdb0675842152658c4ffbba94e38931 /arch/arm/mach-imx
parent4ed9bb21847b9459cdc16a4027b6058d0540dcc8 (diff)
ARM: imx legacy: mx31ads: move peripheral initialization to .init_late
The change moves some of peripheral registrations and initializations (all peripherals dependent on GPIOs) from .init_machine to .init_late level, this allows to safely shift the shared GPIO controller driver initialization level after init level of i.MX IOMUXC driver. Signed-off-by: Vladimir Zapolskiy <vz@mleia.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Diffstat (limited to 'arch/arm/mach-imx')
-rw-r--r--arch/arm/mach-imx/mach-mx31ads.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/arch/arm/mach-imx/mach-mx31ads.c b/arch/arm/mach-imx/mach-mx31ads.c
index 4f2c56d44ba1..766b8b93fb97 100644
--- a/arch/arm/mach-imx/mach-mx31ads.c
+++ b/arch/arm/mach-imx/mach-mx31ads.c
@@ -554,20 +554,19 @@ static void __init mx31ads_map_io(void)
554 iotable_init(mx31ads_io_desc, ARRAY_SIZE(mx31ads_io_desc)); 554 iotable_init(mx31ads_io_desc, ARRAY_SIZE(mx31ads_io_desc));
555} 555}
556 556
557static void __init mx31ads_init_irq(void)
558{
559 mx31_init_irq();
560 mx31ads_init_expio();
561}
562
563static void __init mx31ads_init(void) 557static void __init mx31ads_init(void)
564{ 558{
565 imx31_soc_init(); 559 imx31_soc_init();
566 560
567 mxc_init_extuart();
568 mxc_init_imx_uart(); 561 mxc_init_imx_uart();
569 mxc_init_i2c();
570 mxc_init_audio(); 562 mxc_init_audio();
563}
564
565static void __init mx31ads_late(void)
566{
567 mx31ads_init_expio();
568 mxc_init_extuart();
569 mxc_init_i2c();
571 mxc_init_ext_ethernet(); 570 mxc_init_ext_ethernet();
572} 571}
573 572
@@ -581,8 +580,9 @@ MACHINE_START(MX31ADS, "Freescale MX31ADS")
581 .atag_offset = 0x100, 580 .atag_offset = 0x100,
582 .map_io = mx31ads_map_io, 581 .map_io = mx31ads_map_io,
583 .init_early = imx31_init_early, 582 .init_early = imx31_init_early,
584 .init_irq = mx31ads_init_irq, 583 .init_irq = mx31_init_irq,
585 .init_time = mx31ads_timer_init, 584 .init_time = mx31ads_timer_init,
586 .init_machine = mx31ads_init, 585 .init_machine = mx31ads_init,
586 .init_late = mx31ads_late,
587 .restart = mxc_restart, 587 .restart = mxc_restart,
588MACHINE_END 588MACHINE_END