ARM: mach-imx: imx6ul: populates platform device at .init_machine
PATCH v2 1/1 ARM: mach-imx: imx6ul: populates platform device at .init_machine
At imx6ul_init_machine, it calls imx6ul_pm_init which needs to find platform device for ocram, but the default populate platform device is at of_platform_default_populate_init, which is located at arch_initcall_sync, and called later than arch_initcall (.init_machine is located at that). So below warning message will be showed during boots up:
imx6q_suspend_init: failed to find ocram device!
imx6_pm_common_init: No DDR LPM support with suspend -19!
Due to lack of ocram device, the suspend mode "mem" which needs ocram to store suspend routine code is invalid.
This commit populates platform device before imx6ul_pm_init like other imx6 platforms do, and the suspend mode "mem" can work successfully.
with default match table")
---
Changes for v2:
- Add Fabio's Reviewed-by tag
- Using the correct commit-id for "Fixes" tag
arch/arm/mach-imx/mach-imx6ul.c | 1 + 1 file changed, 1 insertion(+)
arch/arm/mach-imx/mach-imx6ul.c +1 -0
@@ -64,6 +64,7 @@ static void __init imx6ul_init_machine(void)if (parent ==NULL )pr_warn ("failed to initialize soc device\n" ); +of_platform_default_populate (NULL ,NULL , parent);imx6ul_enet_init ();imx_anatop_init ();imx6ul_pm_init ();
Signature · 1 line
1.9.1
PATCH v2 1/1 ARM: mach-imx: imx6ul: populates platform device at .init_machine
Quoted 12 lines · Peter Chen
At
imx6ul_init_machine, it callsimx6ul_pm_initwhich needs to find platform device for ocram, but the default populate platform device is atof_platform_default_populate_init, which is located atarch_initcall_sync, and called later thanarch_initcall(.init_machine is located at that). So below warning message will be showed during boots up:
imx6q_suspend_init: failed to find ocram device!
imx6_pm_common_init: No DDR LPM support with suspend -19!Due to lack of ocram device, the suspend mode "mem" which needs ocram to store suspend routine code is invalid.
Quoted 8 lines
This commit populates platform device before
imx6ul_pm_initlike other imx6 platforms do, and the suspend mode "mem" can work successfully.Cc Anson Huang <[email protected]>Cc Fabio Estevam <[email protected]>Cc Kefeng Wang <[email protected]>Cc Rob Herring <[email protected]>Cc <[email protected]>
The regression is only introduced in v4.8-rc1, and v4.7 is just fine. That said, the stable tag shouldn't be added here.
Dropped the stable tag and applied it as a fix for v4.8-rc.
Shawn
Quoted 34 lines
Fixes 850bea2335e4 ("arm: Remove unnecessary of_platform_populatewith default match table")
Signed-off-by Peter Chen <[email protected]>Reviewed-by Fabio Estevam <[email protected]>---
Changes for v2:
- Add Fabio's Reviewed-by tag
- Using the correct commit-id for "Fixes" tagarch/arm/mach-imx/mach-imx6ul.c | 1 + 1 file changed, 1 insertion(+)arch/arm/mach-imx/mach-imx6ul.c +1
-0@@ -64,6 +64,7 @@ static void __init imx6ul_init_machine(void)if (parent ==NULL )pr_warn ("failed to initialize soc device\n" ); +of_platform_default_populate (NULL ,NULL , parent);imx6ul_enet_init ();imx_anatop_init ();imx6ul_pm_init ();Signature · 7 lines
1.9.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel at lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel