Re: Crashing 'kzm' target in next-20160913 due to 'gpio: mxc: shift gpio_mxc_init() to subsys_initcall level'

From: Shawn Guo
Date: Sat Sep 17 2016 - 20:09:19 EST


Hi Guenter,

On Thu, Sep 15, 2016 at 04:35:04PM +0300, Vladimir Zapolskiy wrote:
> The proper fix in this particular case should be like this one:
>

Does Vladimir's patch below fix your problem?

Shawn

> 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)
> mxc_iomux_setup_multiple_pins(kzm_pins,
> ARRAY_SIZE(kzm_pins), "kzm");
> - kzm_init_ext_uart();
> - kzm_init_smsc9118();
> kzm_init_imx_uart();
> pr_info("Clock input source is 26MHz\n");
> }
> +static void __init kzm_late_init(void)
> +{
> + kzm_init_ext_uart();
> + kzm_init_smsc9118();
> +}
> +
> /*
> * This structure defines static mappings for the kzm-arm11-01 board.
> */
> @@ -291,5 +295,6 @@ MACHINE_START(KZM_ARM11_01, "Kyoto Microcomputer Co., Ltd. KZM-ARM11-01")
> .init_irq = mx31_init_irq,
> .init_time = kzm_timer_init,
> .init_machine = kzm_board_init,
> + .init_late = kzm_late_init,
> .restart = mxc_restart,
> MACHINE_END
> --