diff options
author | Vladimir Zapolskiy <vz@mleia.com> | 2016-09-18 21:37:15 -0400 |
---|---|---|
committer | Shawn Guo <shawnguo@kernel.org> | 2016-09-20 10:34:51 -0400 |
commit | 894b7cbedf54a9eb0b41bce9c555f2afd944910f (patch) | |
tree | a60390219fdb0675842152658c4ffbba94e38931 /arch/arm/mach-imx | |
parent | 4ed9bb21847b9459cdc16a4027b6058d0540dcc8 (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.c | 18 |
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 | ||
557 | static void __init mx31ads_init_irq(void) | ||
558 | { | ||
559 | mx31_init_irq(); | ||
560 | mx31ads_init_expio(); | ||
561 | } | ||
562 | |||
563 | static void __init mx31ads_init(void) | 557 | static 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 | |||
565 | static 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, |
588 | MACHINE_END | 588 | MACHINE_END |