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>
This commit is contained in:
parent
4ed9bb2184
commit
894b7cbedf
|
@ -554,20 +554,19 @@ static void __init mx31ads_map_io(void)
|
|||
iotable_init(mx31ads_io_desc, ARRAY_SIZE(mx31ads_io_desc));
|
||||
}
|
||||
|
||||
static void __init mx31ads_init_irq(void)
|
||||
{
|
||||
mx31_init_irq();
|
||||
mx31ads_init_expio();
|
||||
}
|
||||
|
||||
static void __init mx31ads_init(void)
|
||||
{
|
||||
imx31_soc_init();
|
||||
|
||||
mxc_init_extuart();
|
||||
mxc_init_imx_uart();
|
||||
mxc_init_i2c();
|
||||
mxc_init_audio();
|
||||
}
|
||||
|
||||
static void __init mx31ads_late(void)
|
||||
{
|
||||
mx31ads_init_expio();
|
||||
mxc_init_extuart();
|
||||
mxc_init_i2c();
|
||||
mxc_init_ext_ethernet();
|
||||
}
|
||||
|
||||
|
@ -581,8 +580,9 @@ MACHINE_START(MX31ADS, "Freescale MX31ADS")
|
|||
.atag_offset = 0x100,
|
||||
.map_io = mx31ads_map_io,
|
||||
.init_early = imx31_init_early,
|
||||
.init_irq = mx31ads_init_irq,
|
||||
.init_irq = mx31_init_irq,
|
||||
.init_time = mx31ads_timer_init,
|
||||
.init_machine = mx31ads_init,
|
||||
.init_late = mx31ads_late,
|
||||
.restart = mxc_restart,
|
||||
MACHINE_END
|
||||
|
|
Loading…
Reference in New Issue