linux/drivers/mfd
Tony Lindgren 481c7f868c mfd: twl4030-power: Fix poweroff with PM configuration enabled
Commit e7cd1d1eb1 ("mfd: twl4030-power: Add generic reset
configuration") enabled configuring the PM features for twl4030.

This caused poweroff command to fail on devices that have the
BCI charger on twl4030 wired, or have power wired for VBUS.
Instead of powering off, the device reboots. This is because
voltage is detected on charger or VBUS with the default bits
enabled for the power transition registers.

To fix the issue, let's just clear VBUS and CHG bits as we want
poweroff command to keep the system powered off.

Fixes: e7cd1d1eb1 ("mfd: twl4030-power: Add generic reset configuration")
Cc: stable@vger.kernel.org # v3.16+
Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
2014-11-10 15:22:04 +00:00
..
88pm80x.c mfd: 88pm80x: Change chip id definition and detection 2013-06-18 09:41:10 +02:00
88pm800.c mfd: 88pm800: Fix I2C device resource leak if probe fails 2014-03-19 08:58:15 +00:00
88pm805.c mfd: 88pm805: msleep(1ms ~ 20ms) may not do what the caller intends 2014-07-09 16:38:02 +01:00
88pm860x-core.c mfd: 88pm860x-core: Repair formatting issues 2014-07-09 16:38:03 +01:00
88pm860x-i2c.c mfd: 88pm860x-i2c: Fix variable length array Sparse warning 2014-09-26 08:15:45 +01:00
aat2870-core.c mfd: aat2870-core: Stop using obsolte simple_strtoul() 2014-07-09 16:38:04 +01:00
ab3100-core.c mfd: ab3100-core: Correct code sytle problems 2014-07-09 16:38:05 +01:00
ab3100-otp.c mfd: ab3100-otp: Convert to managed resources for allocating memory 2013-06-13 12:11:39 +02:00
ab8500-core.c mfd: ab8500-core: Use 'ifdef' for config options 2014-08-20 13:28:02 +01:00
ab8500-debugfs.c mfd: ab8500-debugfs: BIG clean-up 2014-07-21 16:54:25 +01:00
ab8500-gpadc.c mfd: ab8500-gpadc: Add CONFIG_PM_SLEEP to suspend/resume 2013-08-14 18:52:51 +01:00
ab8500-sysctrl.c mfd: ab8500-sysctrl: Let sysctrl driver work without pdata 2013-05-21 23:23:21 +02:00
abx500-core.c mfd: abx500-core: Remove unused function abx500_dump_all_banks() 2014-06-03 08:11:51 +01:00
adp5520.c mfd: Delete non-required instances of include <linux/init.h> 2014-03-19 08:58:07 +00:00
arizona-core.c mfd: arizona: Correct mask to allow setting micbias external cap 2014-09-26 08:24:05 +01:00
arizona-i2c.c mfd: arizona: Rid data size incompatibility warn when building for 64bit 2014-07-09 16:38:01 +01:00
arizona-irq.c mfd: arizona: Use handle_simple_irq for IRQ dispatch chip 2014-09-26 08:23:55 +01:00
arizona-spi.c mfd: arizona: Rid data size incompatibility warn when building for 64bit 2014-07-09 16:38:01 +01:00
arizona.h mfd: wm5110: Add new interrupt register definitions 2014-07-28 11:01:42 +01:00
as3711.c mfd: as3711: Make of_device_id array const 2014-06-03 08:11:38 +01:00
as3722.c mfd: as3722: Make FUSE7_REG readable 2014-03-19 08:58:37 +00:00
asic3.c driver:gpio remove all usage of gpio_remove retval in driver 2014-09-18 11:03:10 -07:00
axp20x.c mfd: axp209x: Drop the parent supplies field 2014-09-26 08:23:58 +01:00
bcm590xx.c Changes to existing drivers: 2014-06-06 12:08:39 -07:00
cros_ec_i2c.c mfd: cros_ec: Use the proper size when looking at the cros_ec_i2c result 2014-07-09 16:38:21 +01:00
cros_ec_spi.c mfd: cros_ec: move locking into cros_ec_cmd_xfer 2014-10-06 21:29:50 +01:00
cros_ec.c mfd: cros_ec: wait for completion of commands that return IN_PROGRESS 2014-10-06 21:30:16 +01:00
cs5535-mfd.c mfd: Delete non-required instances of include <linux/init.h> 2014-03-19 08:58:07 +00:00
da903x.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
da9052-core.c mfd: da9052: Avoid setting read_flag_mask for da9052-i2c driver 2014-09-26 08:15:54 +01:00
da9052-i2c.c mfd: da9052-i2c: Remove duplicate test for I2C_FUNC_SMBUS_BYTE_DATA functionality 2014-09-26 08:15:41 +01:00
da9052-irq.c
da9052-spi.c mfd: da9052: Avoid setting read_flag_mask for da9052-i2c driver 2014-09-26 08:15:54 +01:00
da9055-core.c devicetree: Dialog Semiconductor consolidate existing vendor prefixes to standardise on 'dlg' 2014-08-29 09:26:29 +01:00
da9055-i2c.c mfd: da9055: Add DT support for PMIC 2014-03-19 08:58:39 +00:00
da9063-core.c mfd: da9063: Add support for AD silicon variant 2014-07-28 08:09:25 +01:00
da9063-i2c.c mfd: da9063: Add support for AD silicon variant 2014-07-28 08:09:25 +01:00
da9063-irq.c mfd: da9063: Add IRQ support 2013-08-20 03:16:00 +02:00
davinci_voicecodec.c mfd: davinci_voicecodec: Provide a regmap for register I/O 2013-09-02 10:27:49 +02:00
db8500-prcmu.c mfd: db8500-prcmu: Remove check for CONFIG_DBX500_PRCMU_DEBUG 2014-06-03 08:11:53 +01:00
dbx500-prcmu-regs.h mfd: dbx500: Remove any mention of the BML8580CLK 2013-09-26 11:04:16 +02:00
dm355evm_msp.c mfd: dm355evm_msp: Fix checkpatch error: insert space after ',' 2014-07-22 13:17:06 +01:00
ezx-pcap.c mfd: ezx-pcap: Repair coding style errors picked up with checkpatch 2014-07-25 15:31:02 +01:00
hi6421-pmic-core.c mfd: Add HI6421 PMIC Core driver 2014-09-26 08:23:43 +01:00
htc-egpio.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
htc-i2cpld.c Changes to existing drivers: 2014-10-15 06:58:16 +02:00
htc-pasic3.c mfd: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00:00
intel_msic.c mfd: fix comment 2014-06-19 15:23:36 +02:00
intel_soc_pmic_core.c mfd: intel_soc_pmic: Add CONFIG_PM_SLEEP check for suspend_fn/resume_fn 2014-09-26 08:23:52 +01:00
intel_soc_pmic_core.h mfd: intel_soc_pmic: Core driver 2014-06-17 15:59:20 +01:00
intel_soc_pmic_crc.c mfd: intel_soc_pmic: Crystal Cove support 2014-06-17 15:59:38 +01:00
ipaq-micro.c mfd: ipaq-micro: Fix coding style errors/warnings reported by checkpatch 2014-07-25 15:31:45 +01:00
janz-cmodio.c mfd: Delete non-required instances of include <linux/init.h> 2014-03-19 08:58:07 +00:00
jz4740-adc.c mfd: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00:00
Kconfig mfd: Add support for Qualcomm SPMI PMICs 2014-09-26 08:24:00 +01:00
kempld-core.c mfd: kempld-core: Correct a variety of checkpatch warnings 2014-07-25 15:31:45 +01:00
lm3533-core.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
lm3533-ctrlbank.c
lp3943.c mfd: lp3943: Make mfd_cell array const 2014-06-03 08:11:36 +01:00
lp8788-irq.c mfd: lp8788-irq: Fix 'missing blank line after declarations' warning 2014-07-25 15:31:39 +01:00
lp8788.c mfd: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00:00
lpc_ich.c mfd: lpc_ich: Add Device IDs for Intel 9 Series PCH 2014-09-26 08:15:44 +01:00
lpc_sch.c mfd: lpc_sch: Remove FSF address 2014-09-26 08:15:59 +01:00
Makefile mfd: Add support for Qualcomm SPMI PMICs 2014-09-26 08:24:00 +01:00
max8907.c mfd: max8907: Make of_device_id array const 2014-06-03 08:11:32 +01:00
max8925-core.c mfd: max8925-core: Fix 'missing blank line after declarations' warning 2014-07-25 15:31:41 +01:00
max8925-i2c.c mfd: max8925-i2c: Fix variable length array Sparse warning 2014-09-26 08:15:46 +01:00
max8997-irq.c
max8997.c mfd: max8997: Make of_device_id array const 2014-06-03 08:11:30 +01:00
max8998-irq.c mfd: max8998: Add irq domain support 2013-06-30 23:29:44 +02:00
max8998.c mfd: max8998: Make of_device_id array const 2014-06-03 08:11:34 +01:00
max14577.c mfd: max14577: Don't pass IRQ domain to mfd_add_devices 2014-09-26 08:23:54 +01:00
max77686.c mfd: max77686: Remove check which is always true 2014-09-26 08:15:32 +01:00
max77693.c mfd: max77693: Fix always masked MUIC interrupts 2014-11-10 15:22:02 +00:00
mc13xxx-core.c mfd: mc13xxx: Configure WDI reset 2014-09-26 08:23:50 +01:00
mc13xxx-i2c.c mfd: mc13xxx: Simplify probe() & remove() 2014-01-21 08:28:10 +00:00
mc13xxx-spi.c mfd: mc13xxx: Add missing spi_setup() 2014-03-19 08:58:35 +00:00
mc13xxx.h mfd: mc13xxx: Use regmap irq framework for interrupts 2014-07-09 14:58:10 +01:00
mcp-core.c mfd: mcp-core: Fix 'blank line after declarations' warning 2014-07-22 13:17:02 +01:00
mcp-sa11x0.c mfd: Delete non-required instances of include <linux/init.h> 2014-03-19 08:58:07 +00:00
menelaus.c mfd: menelaus: Fix error return code 2014-09-26 08:15:41 +01:00
menf21bmc.c mfd: menf21bmc: Introduce MEN 14F021P00 BMC MFD Core driver 2014-09-24 13:30:16 +01:00
mfd-core.c mfd: Add ACPI support 2014-09-26 08:24:05 +01:00
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 mfd: omap-usb-tll: Fix cppcheck sizeof warning 2014-03-13 22:21:48 +00:00
omap-usb.h mfd: omap-usb-tll: Move configuration code to omap_tll_init() 2013-04-09 09:46:23 +02:00
palmas.c regulator: palmas: add driver data and modularize the probe 2014-06-23 12:30:56 +01:00
pcf50633-adc.c mfd: Delete non-required instances of include <linux/init.h> 2014-03-19 08:58:07 +00:00
pcf50633-core.c mfd: pcf50633: Use sprintf directly 2014-09-26 08:23:49 +01:00
pcf50633-gpio.c
pcf50633-irq.c
pm8921-core.c mfd: pm8921-core: Remove unused variable 2014-07-09 14:58:09 +01:00
qcom-spmi-pmic.c mfd: Add support for Qualcomm SPMI PMICs 2014-09-26 08:24:00 +01:00
rc5t583-irq.c mfd: Delete non-required instances of include <linux/init.h> 2014-03-19 08:58:07 +00:00
rc5t583.c mfd: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00:00
rdc321x-southbridge.c mfd: rdc321x: Fix off-by-one for ngpio setting 2014-06-03 08:11:17 +01:00
retu-mfd.c mfd: Delete non-required instances of include <linux/init.h> 2014-03-19 08:58:07 +00:00
rk808.c mfd: rk808: Add register caching 2014-09-26 08:23:56 +01:00
rn5t618.c mfd: Add Ricoh RN5T618 PMIC core driver 2014-09-26 08:15:51 +01:00
rtl8411.c mfd: rtsx: Fix sparse non static symbol warning 2014-01-21 08:28:14 +00:00
rts5209.c mfd: mmc: rtsx: Change default tx phase 2013-08-30 14:24:07 +02:00
rts5227.c For the 3.12 merge window we have one new driver for the DA9063 PMIC 2013-09-07 20:14:19 -07:00
rts5229.c mfd: mmc: rtsx: Change default tx phase 2013-08-30 14:24:07 +02:00
rts5249.c mfd: rtsx: Modify rts5249_optimize_phy 2013-10-23 16:20:59 +01:00
rtsx_pcr.c mfd: rtsx: Fix build warnings for !PM 2014-11-10 15:21:59 +00:00
rtsx_pcr.h mfd: rtsx: Add support for card reader rtl8402 2014-01-21 08:28:11 +00:00
rtsx_usb.c mfd: rtsx_usb: Fix decimal printf format specifiers prefixed with 0x 2014-09-26 08:15:38 +01:00
sec-core.c mfd: sec-core: Fix 'missing blank line after declarations' warning 2014-07-22 13:17:07 +01:00
sec-irq.c mfd: sec-core: Add support for S2MPU02 device 2014-07-09 14:58:11 +01:00
si476x-cmd.c mfd: si476x-cmd: Remedy checkpatch style complains 2014-07-25 15:31:44 +01:00
si476x-i2c.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
si476x-prop.c mfd: si476x: Add chip properties handling code 2013-04-19 18:37:59 +02:00
sm501.c Changes to existing drivers: 2014-10-15 06:58:16 +02:00
smsc-ece1099.c mfd: Delete non-required instances of include <linux/init.h> 2014-03-19 08:58:07 +00:00
ssbi.c mfd: ssbi: Mark match table const 2014-01-21 08:28:08 +00:00
sta2x11-mfd.c mfd: sta2x11-mfd: Use named constants for pci_power_t values 2014-01-21 08:29:00 +00:00
stmpe-i2c.c mfd: stmpe: Rid data size incompatibility warn when building for 64bit 2014-07-09 16:37:55 +01:00
stmpe-spi.c mfd: stmpe: Use spi_get_drvdata() 2013-04-09 12:18:16 +02:00
stmpe.c mfd: stmpe: Support gpio over irq under device tree 2014-09-26 08:23:53 +01:00
stmpe.h mfd: stmpe: Fix STMPE24xx GPMR LSB 2014-11-10 15:21:58 +00:00
stw481x.c mfd: stw481x: Check the return value of devm_regmap_init_i2c 2014-03-19 08:58:17 +00:00
sun6i-prcm.c mfd: sun6i-prcm: Add support for Allwinner A23 PRCM 2014-07-21 16:54:25 +01:00
syscon.c Changes to existing drivers: 2014-06-06 12:08:39 -07:00
t7l66xb.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
tc3589x.c mfd: tc3589x: Translate onecell, not twocell 2014-07-09 14:58:01 +01:00
tc6387xb.c mfd: tc6387xb: Remove unnecessary braces and correct style warnings 2014-07-25 15:31:43 +01:00
tc6393xb.c driver:gpio remove all usage of gpio_remove retval in driver 2014-09-18 11:03:10 -07:00
ti_am335x_tscadc.c mfd: ti_am335x_tscadc: Update logic in CTRL register for 5-wire TS 2014-09-26 08:24:03 +01:00
timberdale.c mfd: timberdale: Use pci_enable_msix_exact() instead of pci_enable_msix() 2014-03-19 08:58:34 +00:00
timberdale.h
tmio_core.c
tps6105x.c mfd: tps6105x: Use managed resources when allocating memory 2014-07-25 15:31:47 +01:00
tps6507x.c mfd: tps6507x: Make of_device_id array const 2014-06-03 08:11:27 +01:00
tps6586x.c mfd: tps6586x: Make of_device_id array const 2014-06-03 08:11:28 +01:00
tps65010.c mfd: tps65010: Use devm_*() functions 2013-08-20 08:51:48 +01:00
tps65090.c mfd: tps65090: Stop caching most registers 2014-04-23 12:32:19 +01:00
tps65217.c mfd: tps65217: Tell regmap what registers are valid 2014-09-26 08:23:50 +01:00
tps65218.c mfd: tps65218: Terminate of match table 2014-06-03 08:11:54 +01:00
tps65910.c mfd: tps65910: Work around silicon erratum SWCZ010 2014-09-26 08:15:48 +01:00
tps65911-comparator.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
tps65912-core.c mfd: Delete non-required instances of include <linux/init.h> 2014-03-19 08:58:07 +00:00
tps65912-i2c.c mfd: tps65912: Convert to managed resources for allocating memory 2013-06-13 12:11:39 +02:00
tps65912-irq.c mfd: Delete non-required instances of include <linux/init.h> 2014-03-19 08:58:07 +00:00
tps65912-spi.c mfd: tps65912-spi: Remove unused variable 2014-07-28 08:10:06 +01:00
tps80031.c mfd: ti: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00:00
twl4030-audio.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
twl4030-irq.c mfd: twl4030-irq: Check return value from twl_i2c_write() - warn() on failure 2014-09-26 08:15:34 +01:00
twl4030-power.c mfd: twl4030-power: Fix poweroff with PM configuration enabled 2014-11-10 15:22:04 +00:00
twl6030-irq.c mfd: twl6030-irq: Extinguish coding style warnings 2014-07-25 15:31:42 +01:00
twl6040.c mfd: twl6040: Fix error return code 2014-09-26 08:15:37 +01:00
twl-core.c Immutable branch between MFD and Extcon due for v3.16 merge-window. 2014-06-03 08:08:40 +01:00
twl-core.h
ucb1x00-assabet.c
ucb1x00-core.c driver:gpio remove all usage of gpio_remove retval in driver 2014-09-18 11:03:10 -07:00
ucb1x00-ts.c
ucb1400_core.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
vexpress-sysreg.c ARM: vexpress: move HBI check to sysreg driver 2014-05-15 17:02:21 +01:00
viperboard.c mfd: viperboard: Fix platform-device id collision 2014-11-10 15:22:00 +00:00
vx855.c mfd: Remove DEFINE_PCI_DEVICE_TABLE macro 2014-01-21 08:27:45 +00:00
wl1273-core.c mfd: wl1273: Use devm_*() functions 2013-08-20 08:51:58 +01:00
wm831x-auxadc.c
wm831x-core.c mfd: wolfson: Constify struct mfd_cell where possible 2014-01-06 09:13:25 +00:00
wm831x-i2c.c mfd: wm831x: Use PM ops for shutdown 2014-01-21 08:27:51 +00:00
wm831x-irq.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
wm831x-otp.c
wm831x-spi.c mfd: wm831x: Use PM ops for shutdown 2014-01-21 08:27:51 +00:00
wm5102-tables.c mfd: arizona: Add ASYNC_SAMPLE_RATE_2 registers 2014-09-26 08:15:52 +01:00
wm5110-tables.c mfd: arizona: Add ASYNC_SAMPLE_RATE_2 registers 2014-09-26 08:15:52 +01:00
wm8350-core.c mfd: Delete non-required instances of include <linux/init.h> 2014-03-19 08:58:07 +00:00
wm8350-gpio.c
wm8350-i2c.c mfd: wm8350-i2c: Replace spaces with tabs 2014-07-25 15:31:42 +01:00
wm8350-irq.c mfd: wm8350-irq: Fix 'line over 80 chars' warning 2014-07-22 13:17:05 +01:00
wm8350-regmap.c
wm8400-core.c mfd: wm8400-core: Make mfd_cell array const 2014-06-03 08:11:34 +01:00
wm8994-core.c mfd: wm8994-core: Naturalise cross-architecture discrepancies 2014-02-19 13:30:27 +00:00
wm8994-irq.c mfd: wm8994: Export symbols ready for built-in => modular build 2014-09-26 08:15:35 +01:00
wm8994-regmap.c mfd: wm8994: Export symbols ready for built-in => modular build 2014-09-26 08:15:35 +01:00
wm8994.h
wm8997-tables.c mfd: arizona: Rename thermal shutdown interrupt 2014-07-28 08:10:47 +01:00