linux-stable/drivers/mfd
Krzysztof Kozlowski f6d6daaf9b mfd: sec: Add PM ops and make it a wake up source
Add PM suspend/resume ops to the sec MFD core driver and make it a wake
up source. This allows proper waking from suspend to RAM and also fixes
broken interrupts after resuming:
[   42.705703] sec_pmic 7-0066: Failed to read IRQ status: -5

Interrupts stop working after first resume initiated by them (e.g. by
RTC Alarm interrupt) because interrupt registers were not cleared properly.

When device is woken up from suspend by RTC Alarm, an interrupt occurs
before resuming I2C bus controller. The interrupt is handled by
regmap_irq_thread which tries to read RTC registers. This read fails
(I2C is still suspended) and RTC Alarm interrupt is disabled.

Disable the S5M8767 interrupts during suspend (disable_irq()) and enable
them during resume so the device will be still woken up but the interrupt
won't happen before resuming I2C bus.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
2014-01-21 08:13:35 +00:00
..
88pm80x.c mfd: 88pm80x: Change chip id definition and detection 2013-06-18 09:41:10 +02:00
88pm800.c mfd: marvell: Constify struct mfd_cell where possible 2014-01-06 09:13:26 +00:00
88pm805.c mfd: marvell: Constify struct mfd_cell where possible 2014-01-06 09:13:26 +00:00
88pm860x-core.c mfd: 88pm860x: Remove redundant of_match_ptr 2013-10-23 16:21:53 +01:00
88pm860x-i2c.c
Kconfig mfd: Make MFD_AS3722 depend on I2C=y 2013-11-26 09:12:19 +00:00
Makefile mfd: Add support for ams AS3722 PMIC 2013-10-23 16:22:33 +01:00
aat2870-core.c mfd: aat2870: Fix sparse error 2013-10-23 16:20:44 +01:00
ab3100-core.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +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: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00:00
ab8500-debugfs.c mfd: ab8500-debugfs: Move dereference after check for NULL 2014-01-06 09:13:17 +00: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: Convert to managed resources for allocating memory 2013-06-13 12:11:41 +02:00
adp5520.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
arizona-core.c mfd: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00:00
arizona-i2c.c mfd: arizona: Include linux/of.h header 2013-10-23 16:22:06 +01:00
arizona-irq.c mfd: arizona: Integrate wm8997 into Arizona mfd 2013-06-18 00:49:52 +02:00
arizona-spi.c mfd: arizona: Include linux/of.h header 2013-10-23 16:22:06 +01:00
arizona.h mfd: arizona: Integrate wm8997 into Arizona mfd 2013-06-18 00:49:52 +02:00
as3711.c mfd: as3711: Include linux/of.h header 2013-10-23 16:22:03 +01:00
as3722.c mfd: as3722: Add watchdog support 2014-01-06 09:13:30 +00:00
asic3.c mfd: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00:00
cros_ec.c mfd: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00:00
cros_ec_i2c.c mfd: cros ec: i2c: Use consistent function names 2014-01-21 08:13:35 +00:00
cros_ec_spi.c mfd: cros ec: spi: Use consistent function names 2014-01-21 08:13:34 +00:00
cs5535-mfd.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
da903x.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
da9052-core.c mfd: dialog: Constify struct mfd_cell where possible 2014-01-06 09:13:25 +00:00
da9052-i2c.c mfd: da9052: Avoid multiwrite mode due to silicon errata 2013-10-23 16:20:32 +01:00
da9052-irq.c mfd: da9052: Introduce da9052-irq.c 2012-11-20 12:21:10 +01:00
da9052-spi.c mfd: da9052: Use spi_get_drvdata() and spi_set_drvdata() 2013-04-09 12:18:16 +02:00
da9055-core.c mfd: dialog: Constify struct mfd_cell where possible 2014-01-06 09:13:25 +00:00
da9055-i2c.c mfd: Update DA9055 i2c device id name 2013-07-31 02:02:54 +02:00
da9063-core.c mfd: dialog: Constify struct mfd_cell where possible 2014-01-06 09:13:25 +00:00
da9063-i2c.c mfd: da9063: Add Dialog DA9063 core driver 2013-08-20 03:15:52 +02: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: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00: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: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
ezx-pcap.c mfd: ezx-pcap: Drop devm_free_irq of devm_ allocated irq 2013-10-23 16:21:17 +01:00
htc-egpio.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
htc-i2cpld.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
htc-pasic3.c mfd: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00:00
intel_msic.c mfd: intel: Constify struct mfd_cell where possible 2014-01-06 09:13:28 +00:00
janz-cmodio.c mfd: janz-cmodio: Convert to managed resources for allocating memory 2013-06-13 12:11:44 +02:00
jz4740-adc.c mfd: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00:00
kempld-core.c mfd: Add support for COMe-bHL6 and COMe-cTH6 to Kontron PLD driver 2013-08-14 18:53:19 +01:00
lm3533-core.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
lm3533-ctrlbank.c
lp8788-irq.c mfd: Add lp8788 mfd driver 2012-09-23 20:51:34 +02:00
lp8788.c mfd: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00:00
lpc_ich.c mfd: lpc_ich: Fix Wildcat Point info name field 2013-11-27 09:38:04 +01:00
lpc_sch.c mfd: lpc_sch: Ignore resource conflicts when adding mfd cells 2013-10-23 16:22:40 +01:00
max8907.c mfd: maxim: Constify struct mfd_cell where possible 2014-01-06 09:13:27 +00:00
max8925-core.c mfd: maxim: Constify struct mfd_cell where possible 2014-01-06 09:13:27 +00:00
max8925-i2c.c mfd: max8925: Remove redundant of_match_ptr 2013-10-23 16:21:49 +01:00
max8997-irq.c
max8997.c mfd: maxim: Constify struct mfd_cell where possible 2014-01-06 09:13:27 +00:00
max8998-irq.c mfd: max8998: Add irq domain support 2013-06-30 23:29:44 +02:00
max8998.c mfd: maxim: Constify struct mfd_cell where possible 2014-01-06 09:13:27 +00:00
max77686-irq.c
max77686.c mfd: maxim: Constify struct mfd_cell where possible 2014-01-06 09:13:27 +00:00
max77693-irq.c mfd: max77693: Fix up bug of wrong interrupt number 2013-11-04 09:41:19 +01:00
max77693.c mfd: maxim: Constify struct mfd_cell where possible 2014-01-06 09:13:27 +00:00
mc13xxx-core.c mfd: mc13xxx: Don't require lock for simple register I/O 2013-10-23 16:21:22 +01:00
mc13xxx-i2c.c mfd: mc12xx-i2c: rtsx_pcr: ti-ssp: Remove redundant dev_set_drvdata 2013-10-23 16:21:07 +01:00
mc13xxx-spi.c mfd: mc13xxx: Remove unnecessary spi_set_drvdata() 2014-01-21 08:13:34 +00:00
mc13xxx.h mfd: mc13xxx: Add support for mc34708 2012-11-06 23:14:08 +01:00
mcp-core.c
mcp-sa11x0.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
menelaus.c mfd: menelaus: Use devm_*() functions 2013-08-20 08:51:32 +01:00
mfd-core.c For the 3.13 merge window we have a couple of new drivers for the AMS 2013-11-15 16:37:40 -08:00
omap-usb-host.c mfd: omap-usb-host: Raw read and write endian fix 2014-01-06 09:13:22 +00:00
omap-usb-tll.c mfd: omap-usb-tll: Raw read and write endian fix 2014-01-06 09:13:22 +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 mfd: palmas: Remove redundant of_match_ptr 2013-10-23 16:22:01 +01:00
pcf50633-adc.c mfd: pcf50633-adc: Use devm_*() functions 2013-08-20 09:27:35 +01:00
pcf50633-core.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
pcf50633-gpio.c
pcf50633-irq.c
pm8xxx-irq.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
pm8921-core.c mfd: pm8921: Potential NULL dereference in pm8921_remove() 2013-11-11 11:22:19 +00:00
rc5t583-irq.c mfd: rc5t583: Fix array subscript is above array bounds 2012-11-26 12:10:51 +01:00
rc5t583.c mfd: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00:00
rdc321x-southbridge.c mfd: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00:00
retu-mfd.c mfd: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00:00
rtl8411.c mfd: mmc: rtsx: Change default tx phase 2013-08-30 14:24:07 +02: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: mc12xx-i2c: rtsx_pcr: ti-ssp: Remove redundant dev_set_drvdata 2013-10-23 16:21:07 +01:00
rtsx_pcr.h mfd: rtsx: Copyright modifications 2013-08-20 10:22:01 +02:00
sec-core.c mfd: sec: Add PM ops and make it a wake up source 2014-01-21 08:13:35 +00:00
sec-irq.c mfd/rtc: s5m: fix register updating by adding regmap for RTC 2013-12-12 18:19:26 -08:00
si476x-cmd.c mfd: si476x: Use get_unaligned_be16() for unaligned be16 loads 2013-05-16 19:15:07 +02: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 mfd: sm501: Remove unnecessary pci_set_drvdata() 2013-10-23 16:20:54 +01:00
smsc-ece1099.c mfd: smsc: Add support for smsc gpio io/keypad driver 2012-10-01 15:27:48 +02:00
ssbi.c mfd: ssbi: Use devm_* and simplify code 2013-06-18 09:41:15 +02:00
sta2x11-mfd.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
stmpe-i2c.c mfd: support stmpe1801 18 bits enhanced port expander 2013-04-09 14:15:58 +02:00
stmpe-spi.c mfd: stmpe: Use spi_get_drvdata() 2013-04-09 12:18:16 +02:00
stmpe.c mfd: stmicro: Constify struct mfd_cell where possible 2014-01-06 09:13:24 +00:00
stmpe.h mfd: stmicro: Constify struct mfd_cell where possible 2014-01-06 09:13:24 +00:00
stw481x.c mfd: Add STw481x driver 2013-10-23 16:21:12 +01:00
syscon.c For the 3.12 merge window we have one new driver for the DA9063 PMIC 2013-09-07 20:14:19 -07:00
t7l66xb.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
tc3589x.c mfd: toshiba: Constify struct mfd_cell where possible 2014-01-06 09:13:26 +00:00
tc6387xb.c mfd: toshiba: Constify struct mfd_cell where possible 2014-01-06 09:13:26 +00:00
tc6393xb.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
ti-ssp.c mfd: ti-ssp: Fix build 2013-11-27 09:35:11 +01:00
ti_am335x_tscadc.c mfd: ti_am335x_tscadc: Avoid possible deadlock of reg_lock 2013-10-23 16:22:37 +01:00
timberdale.c mfd: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00:00
timberdale.h
tmio_core.c
tps6105x.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
tps6507x.c mfd: ti: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00:00
tps6586x.c mfd: ti: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00:00
tps65010.c mfd: tps65010: Use devm_*() functions 2013-08-20 08:51:48 +01:00
tps65090.c mfd: ti: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00:00
tps65217.c mfd: ti: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00:00
tps65910.c mfd: ti: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00:00
tps65911-comparator.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
tps65912-core.c mfd: ti: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +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
tps65912-spi.c mfd: tps65912: Convert to managed resources for allocating memory 2013-06-13 12:11:39 +02:00
tps80031.c mfd: ti: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00:00
twl-core.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
twl-core.h
twl4030-audio.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
twl4030-irq.c For the 3.11 merge we only have one new MFD driver for the Kontron PLD. 2013-07-10 11:10:27 -07:00
twl4030-madc.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
twl4030-power.c mfd: twl4030-power: Staticize local functions 2013-08-01 09:55:33 +01:00
twl6030-irq.c mfd: twl6030-irq: Add interrupt mapping table for the twl6032 2013-08-20 10:19:38 +02:00
twl6040.c mfd-lee-3.13-1 2013-10-25 11:03:48 +02:00
ucb1x00-assabet.c
ucb1x00-core.c mfd: ucb1x00-core: Fix error return code in ucb1x00_probe() 2013-10-23 16:20:49 +01:00
ucb1x00-ts.c
ucb1400_core.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
vexpress-config.c mfd: vexpress: Handle pending config transactions 2013-04-26 16:10:03 +02:00
vexpress-sysreg.c mfd: vexpress: Make the driver optional for arm and arm64 2013-06-19 11:32:00 +02:00
viperboard.c mfd: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00:00
vx855.c mfd: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +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
wm831x-irq.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
wm831x-otp.c
wm831x-spi.c mfd: wm831x: Remove erronious bits per word set 2013-07-31 13:00:53 +01:00
wm5102-tables.c mfd: arizona: Mark missing AOD registers as volatile 2013-10-23 16:21:46 +01:00
wm5110-tables.c mfd: wm5110: Correct default for register LDO2 Control 1 2014-01-06 09:13:19 +00:00
wm8350-core.c
wm8350-gpio.c
wm8350-i2c.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
wm8350-irq.c
wm8350-regmap.c
wm8400-core.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
wm8994-core.c mfd: wolfson: Constify struct mfd_cell where possible 2014-01-06 09:13:25 +00:00
wm8994-irq.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
wm8994-regmap.c
wm8994.h
wm8997-tables.c mfd: arizona: Integrate wm8997 into Arizona mfd 2013-06-18 00:49:52 +02:00