• Dave Gerlach's avatar
    ARM: OMAP2+: pm33xx-core: Add cpuidle_ops for am335x/am437x · 06ee7a95
    Dave Gerlach authored
    am335x and am437x can now make use of the generic cpuidle-arm driver.
    This requires that we define init and suspend ops to be passed set as
    the cpuidle ops for the SoC. These ops are invoked directly at the last
    stage of the cpuidle-arm driver in order to allow low level platform
    code to run and bring the CPU the rest of the way into it's desired idle
    state. It is required that the CPUIDLE_METHOD_OF_DECLARE be called from
    code that is built in so define these ops in pm33xx-core where the
    always built-in portion of the PM code for these SoCs lives.
    
    Additionally, although an soc_suspend function is already exposed by the
    pm33xx platform code, it contains additional operations needed for full
    SoC suspend beyond what is needed for a relatively simple CPU suspend
    needed during cpuidle. To get around this introduce cpu_suspend ops to
    be used by the am335x and am437x PM driver for the last stage of cpuidle
    path.
    Acked-by: default avatarSantosh Shilimkar <ssantosh@kernel.org>
    Signed-off-by: default avatarDave Gerlach <d-gerlach@ti.com>
    Acked-by: default avatarSantosh Shilimkar <ssantosh@kernel.org>
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    06ee7a95
pm33xx-core.c 9.21 KB