• Peter Chen's avatar
    ARM: imx6ul: populates platform device at .init_machine · cfee6b58
    Peter Chen authored
    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.
    Signed-off-by: default avatarPeter Chen <peter.chen@nxp.com>
    Fixes: 850bea23 ("arm: Remove unnecessary of_platform_populate with default match table")
    Cc: Anson Huang <anson.huang@nxp.com>
    Cc: Fabio Estevam <fabio.estevam@nxp.com>
    Cc: Kefeng Wang <wangkefeng.wang@huawei.com>
    Cc: Rob Herring <robh@kernel.org>
    Reviewed-by: default avatarFabio Estevam <fabio.estevam@nxp.com>
    Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
    cfee6b58
mach-imx6ul.c 2.3 KB