diff options
author | Vladimir Zapolskiy <vz@mleia.com> | 2016-09-18 21:37:13 -0400 |
---|---|---|
committer | Shawn Guo <shawnguo@kernel.org> | 2016-09-20 10:33:10 -0400 |
commit | 4bc2e627c5aa3b69e1a549f71792c738ce220b1c (patch) | |
tree | 3ffbf8fe2fe7d9213f26641341ff556a9a2c7f3e /arch/arm/mach-imx | |
parent | 29b4817d4018df78086157ea3a55c1d9424a7cfc (diff) |
ARM: imx legacy: kzm: 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.
The change is tested on qemu kzm target.
Reported-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Guenter Roeck <linux@roeck-us.net>
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-kzm_arm11_01.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/arm/mach-imx/mach-kzm_arm11_01.c b/arch/arm/mach-imx/mach-kzm_arm11_01.c index 31df4361996f..8288acfe7221 100644 --- a/arch/arm/mach-imx/mach-kzm_arm11_01.c +++ b/arch/arm/mach-imx/mach-kzm_arm11_01.c | |||
@@ -245,13 +245,17 @@ static void __init kzm_board_init(void) | |||
245 | 245 | ||
246 | mxc_iomux_setup_multiple_pins(kzm_pins, | 246 | mxc_iomux_setup_multiple_pins(kzm_pins, |
247 | ARRAY_SIZE(kzm_pins), "kzm"); | 247 | ARRAY_SIZE(kzm_pins), "kzm"); |
248 | kzm_init_ext_uart(); | ||
249 | kzm_init_smsc9118(); | ||
250 | kzm_init_imx_uart(); | 248 | kzm_init_imx_uart(); |
251 | 249 | ||
252 | pr_info("Clock input source is 26MHz\n"); | 250 | pr_info("Clock input source is 26MHz\n"); |
253 | } | 251 | } |
254 | 252 | ||
253 | static void __init kzm_late_init(void) | ||
254 | { | ||
255 | kzm_init_ext_uart(); | ||
256 | kzm_init_smsc9118(); | ||
257 | } | ||
258 | |||
255 | /* | 259 | /* |
256 | * This structure defines static mappings for the kzm-arm11-01 board. | 260 | * This structure defines static mappings for the kzm-arm11-01 board. |
257 | */ | 261 | */ |
@@ -291,5 +295,6 @@ MACHINE_START(KZM_ARM11_01, "Kyoto Microcomputer Co., Ltd. KZM-ARM11-01") | |||
291 | .init_irq = mx31_init_irq, | 295 | .init_irq = mx31_init_irq, |
292 | .init_time = kzm_timer_init, | 296 | .init_time = kzm_timer_init, |
293 | .init_machine = kzm_board_init, | 297 | .init_machine = kzm_board_init, |
298 | .init_late = kzm_late_init, | ||
294 | .restart = mxc_restart, | 299 | .restart = mxc_restart, |
295 | MACHINE_END | 300 | MACHINE_END |