linux/drivers/mfd
Tony Lindgren daebabd578 mfd: twl4030-power: Fix PM idle pin configuration to not conflict with regulators
Commit 43fef47f94 (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 d937678ab6 (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: 43fef47f94 (mfd: twl4030-power: Add a configuration to turn off oscillator during off-idle)

Cc: stable@vger.kernel.org # v3.16
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tested-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
2014-08-28 15:57:55 +01:00
..
88pm80x.c
88pm800.c
88pm805.c
88pm860x-core.c
88pm860x-i2c.c
aat2870-core.c
ab3100-core.c
ab3100-otp.c
ab8500-core.c mfd: ab8500-core: Use 'ifdef' for config options 2014-08-20 13:28:02 +01:00
ab8500-debugfs.c
ab8500-gpadc.c
ab8500-sysctrl.c
abx500-core.c
adp5520.c
arizona-core.c mfd: arizona: Add missing handling for ISRC3 under/overclocked 2014-07-28 11:01:45 +01:00
arizona-i2c.c
arizona-irq.c mfd: arizona: Only free the CTRLIF_ERR IRQ if we requested it 2014-07-28 11:01:47 +01:00
arizona-spi.c
arizona.h mfd: wm5110: Add new interrupt register definitions 2014-07-28 11:01:42 +01:00
as3711.c
as3722.c
asic3.c
axp20x.c
bcm590xx.c
cros_ec_i2c.c
cros_ec_spi.c == Changes to existing drivers == 2014-08-07 17:17:39 -07:00
cros_ec.c
cs5535-mfd.c
da903x.c
da9052-core.c
da9052-i2c.c
da9052-irq.c
da9052-spi.c
da9055-core.c
da9055-i2c.c
da9063-core.c
da9063-i2c.c
da9063-irq.c
davinci_voicecodec.c
db8500-prcmu.c
dbx500-prcmu-regs.h
dm355evm_msp.c
ezx-pcap.c
htc-egpio.c
htc-i2cpld.c mfd: htc-i2cpld: Fix %d confusingly prefixed with 0x in format string 2014-08-20 13:27:48 +01:00
htc-pasic3.c
intel_msic.c
intel_soc_pmic_core.c
intel_soc_pmic_core.h
intel_soc_pmic_crc.c
ipaq-micro.c
janz-cmodio.c
jz4740-adc.c
Kconfig Merge remote-tracking branches 'regulator/topic/s2mps11', 'regulator/topic/s2mpu02', 'regulator/topic/s5m8767' and 'regulator/topic/tps65090' into regulator-next 2014-08-05 18:29:27 +01:00
kempld-core.c
lm3533-core.c
lm3533-ctrlbank.c
lp3943.c
lp8788-irq.c
lp8788.c
lpc_ich.c
lpc_sch.c
Makefile
max8907.c
max8925-core.c
max8925-i2c.c
max8997-irq.c
max8997.c
max8998-irq.c
max8998.c
max14577.c
max77686.c
max77693.c
mc13xxx-core.c
mc13xxx-i2c.c
mc13xxx-spi.c
mc13xxx.h
mcp-core.c
mcp-sa11x0.c
menelaus.c
mfd-core.c
omap-usb-host.c mfd: omap-usb-host: Fix %d confusingly prefixed with 0x in format string 2014-08-20 13:26:52 +01:00
omap-usb-tll.c
omap-usb.h
palmas.c
pcf50633-adc.c
pcf50633-core.c
pcf50633-gpio.c
pcf50633-irq.c
pm8921-core.c
rc5t583-irq.c
rc5t583.c
rdc321x-southbridge.c
retu-mfd.c
rtl8411.c
rts5209.c
rts5227.c
rts5229.c
rts5249.c
rtsx_pcr.c
rtsx_pcr.h
rtsx_usb.c drivers/mfd/rtsx_usb.c: export device table 2014-08-14 10:56:15 -06:00
sec-core.c
sec-irq.c
si476x-cmd.c
si476x-i2c.c
si476x-prop.c
sm501.c
smsc-ece1099.c
ssbi.c
sta2x11-mfd.c
stmpe-i2c.c
stmpe-spi.c
stmpe.c
stmpe.h
stw481x.c
sun6i-prcm.c
syscon.c
t7l66xb.c
tc3589x.c
tc6387xb.c
tc6393xb.c
ti_am335x_tscadc.c
timberdale.c
timberdale.h
tmio_core.c
tps6105x.c
tps6507x.c
tps6586x.c
tps65010.c
tps65090.c
tps65217.c
tps65218.c
tps65910.c
tps65911-comparator.c
tps65912-core.c
tps65912-i2c.c
tps65912-irq.c
tps65912-spi.c
tps80031.c
twl4030-audio.c
twl4030-irq.c
twl4030-power.c mfd: twl4030-power: Fix PM idle pin configuration to not conflict with regulators 2014-08-28 15:57:55 +01:00
twl6030-irq.c
twl6040.c
twl-core.c
twl-core.h
ucb1x00-assabet.c
ucb1x00-core.c
ucb1x00-ts.c
ucb1400_core.c
vexpress-sysreg.c
viperboard.c
vx855.c
wl1273-core.c
wm831x-auxadc.c
wm831x-core.c
wm831x-i2c.c
wm831x-irq.c
wm831x-otp.c
wm831x-spi.c
wm5102-tables.c
wm5110-tables.c mfd: wm5110: Add new interrupt register definitions 2014-07-28 11:01:42 +01:00
wm8350-core.c
wm8350-gpio.c
wm8350-i2c.c
wm8350-irq.c
wm8350-regmap.c
wm8400-core.c
wm8994-core.c
wm8994-irq.c
wm8994-regmap.c
wm8994.h
wm8997-tables.c