mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 12:20:52 +07:00
ARM: imx legacy: mx35-3ds: 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
88b074626f
commit
c217147b93
@ -555,8 +555,6 @@ static const struct imxi2c_platform_data mx35_3ds_i2c0_data __initconst = {
|
|||||||
*/
|
*/
|
||||||
static void __init mx35_3ds_init(void)
|
static void __init mx35_3ds_init(void)
|
||||||
{
|
{
|
||||||
struct platform_device *imx35_fb_pdev;
|
|
||||||
|
|
||||||
imx35_soc_init();
|
imx35_soc_init();
|
||||||
|
|
||||||
mxc_iomux_v3_setup_multiple_pads(mx35pdk_pads, ARRAY_SIZE(mx35pdk_pads));
|
mxc_iomux_v3_setup_multiple_pads(mx35pdk_pads, ARRAY_SIZE(mx35pdk_pads));
|
||||||
@ -579,9 +577,6 @@ static void __init mx35_3ds_init(void)
|
|||||||
imx35_add_mxc_nand(&mx35pdk_nand_board_info);
|
imx35_add_mxc_nand(&mx35pdk_nand_board_info);
|
||||||
imx35_add_sdhci_esdhc_imx(0, NULL);
|
imx35_add_sdhci_esdhc_imx(0, NULL);
|
||||||
|
|
||||||
if (mxc_expio_init(MX35_CS5_BASE_ADDR, IMX_GPIO_NR(1, 1)))
|
|
||||||
pr_warn("Init of the debugboard failed, all "
|
|
||||||
"devices on the debugboard are unusable.\n");
|
|
||||||
imx35_add_imx_i2c0(&mx35_3ds_i2c0_data);
|
imx35_add_imx_i2c0(&mx35_3ds_i2c0_data);
|
||||||
|
|
||||||
i2c_register_board_info(
|
i2c_register_board_info(
|
||||||
@ -590,6 +585,15 @@ static void __init mx35_3ds_init(void)
|
|||||||
imx35_add_ipu_core();
|
imx35_add_ipu_core();
|
||||||
platform_device_register(&mx35_3ds_ov2640);
|
platform_device_register(&mx35_3ds_ov2640);
|
||||||
imx35_3ds_init_camera();
|
imx35_3ds_init_camera();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void __init mx35_3ds_late_init(void)
|
||||||
|
{
|
||||||
|
struct platform_device *imx35_fb_pdev;
|
||||||
|
|
||||||
|
if (mxc_expio_init(MX35_CS5_BASE_ADDR, IMX_GPIO_NR(1, 1)))
|
||||||
|
pr_warn("Init of the debugboard failed, all "
|
||||||
|
"devices on the debugboard are unusable.\n");
|
||||||
|
|
||||||
imx35_fb_pdev = imx35_add_mx3_sdc_fb(&mx3fb_pdata);
|
imx35_fb_pdev = imx35_add_mx3_sdc_fb(&mx3fb_pdata);
|
||||||
mx35_3ds_lcd.dev.parent = &imx35_fb_pdev->dev;
|
mx35_3ds_lcd.dev.parent = &imx35_fb_pdev->dev;
|
||||||
@ -618,6 +622,7 @@ MACHINE_START(MX35_3DS, "Freescale MX35PDK")
|
|||||||
.init_irq = mx35_init_irq,
|
.init_irq = mx35_init_irq,
|
||||||
.init_time = mx35pdk_timer_init,
|
.init_time = mx35pdk_timer_init,
|
||||||
.init_machine = mx35_3ds_init,
|
.init_machine = mx35_3ds_init,
|
||||||
|
.init_late = mx35_3ds_late_init,
|
||||||
.reserve = mx35_3ds_reserve,
|
.reserve = mx35_3ds_reserve,
|
||||||
.restart = mxc_restart,
|
.restart = mxc_restart,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
Loading…
Reference in New Issue
Block a user