• Tony Lindgren's avatar
    mfd: twl4030-power: Fix PM idle pin configuration to not conflict with regulators · daebabd5
    Tony Lindgren authored
    Commit 43fef47f (mfd: twl4030-power: Add a configuration to turn
    off oscillator during off-idle) added support for configuring the PMIC
    to cut off resources during deeper idle states to save power.
    
    This however caused regression for n900 display power that needed the
    PMIC configuration to be disabled with commit d937678a (ARM: dts:
    Revert enabling of twl configuration for n900).
    
    Turns out the root cause of the problem is that we must use
    TWL4030_RESCONFIG_UNDEF instead of DEV_GRP_NULL to avoid disabling
    regulators that may have been enabled before the init function
    for twl4030-power.c runs. With TWL4030_RESCONFIG_UNDEF we let the
    regulator framework control the regulators like it should. Here we
    need to only configure the sys_clken and sys_off_mode triggers for
    the regulators that cannot be done by the regulator framework as
    it's not running at that point.
    
    This allows us to enable the PMIC configuration for n900.
    
    Fixes: 43fef47f (mfd: twl4030-power: Add a configuration to turn off oscillator during off-idle)
    
    Cc: stable@vger.kernel.org # v3.16
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    Tested-by: default avatarAaro Koskinen <aaro.koskinen@iki.fi>
    Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
    daebabd5
twl4030-power.c 23.4 KB