linux_dsm_epyc7002/drivers/mfd
Charles Keepax 72e43164fd mfd: arizona: Fix initialisation of the PM runtime
The PM runtime core by default assumes a chip is suspended when runtime
PM is enabled. Currently the arizona driver enables runtime PM when the
chip is fully active and then disables the DCVDD regulator at the end of
arizona_dev_init. This however has several problems, firstly the if we
reach the end of arizona_dev_init, we did not properly follow all the
proceedures for shutting down the chip, and most notably we never marked
the chip as cache only so any writes occurring between then and the next
PM runtime resume will be lost. Secondly, if we are already resumed when
we reach the end of dev_init, then at best we get unbalanced regulator
enable/disables at work we lose DCVDD whilst we need it.

Additionally, since the commit 4f0216409f7c ("mfd: arizona: Add better
support for system suspend"), the PM runtime operations may
disable/enable the IRQ, so the IRQs must now be enabled before we call
any PM operations.

This patch adds a call to pm_runtime_set_active to inform the PM core
that the device is starting up active and moves the PM enabling to
around the IRQ initialisation to avoid any PM callbacks happening until
the IRQs are initialised.

Cc: stable@vger.kernel.org # v3.5+
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
2015-07-24 09:05:28 +01:00
..
88pm80x.c
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: Constify regmap and irq configuration data 2015-06-22 12:25:01 +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: drop owner assignment from platform_drivers 2014-10-20 16:20:53 +02:00
ab8500-core.c mfd: Constify regmap and irq configuration data 2015-06-22 12:25:01 +01:00
ab8500-debugfs.c mfd: ab8500-debugfs: Pass the IRQF_ONESHOT flag 2015-06-22 12:25:27 +01:00
ab8500-gpadc.c mfd: ab8500-gpadc: Pass the IRQF_ONESHOT flag 2015-06-22 12:25:28 +01:00
ab8500-sysctrl.c mfd: ab8500: Decrement the power supply's device reference counter 2015-03-13 23:15:54 +01: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: Fix initialisation of the PM runtime 2015-07-24 09:05:28 +01:00
arizona-i2c.c mfd: arizona: Add support for WM8280/WM8281 2015-02-26 10:04:07 +00:00
arizona-irq.c mfd: Constify regmap and irq configuration data 2015-06-22 12:25:01 +01:00
arizona-spi.c mfd: arizona: Add support for WM8280/WM8281 2015-02-26 10:04:07 +00: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 mfd/asic3: Fix race in installing chained IRQ handler 2015-06-25 11:56:52 +02:00
atmel-hlcdc.c mfd: Add atmel-hlcdc driver 2014-11-25 16:18:43 +00:00
axp20x.c mfd: axp20x: Enable AXP22X regulators 2015-05-13 16:26:34 +01:00
bcm590xx.c Changes to existing drivers: 2014-06-06 12:08:39 -07:00
cros_ec_i2c.c mfd: cros_ec: Support multiple EC in a system 2015-06-15 13:18:23 +01:00
cros_ec_spi.c mfd: cros_ec: spi: Add delay for asserting CS 2015-06-15 13:18:24 +01:00
cros_ec.c mfd: cros_ec: Staticise some newly introduced structures 2015-06-22 12:23:02 +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
da9052-core.c mfd: da9052: Fix broken regulator probe 2015-05-27 13:34:15 +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 mfd: Constify regmap and irq configuration data 2015-06-22 12:25:01 +01:00
da9052-spi.c mfd: da9052: Fix register access via SPI 2015-03-12 09:06:40 +00:00
da9055-core.c mfd: Constify regmap and irq configuration data 2015-06-22 12:25:01 +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 OnKey driver 2015-06-22 12:25:20 +01:00
da9063-i2c.c mfd: da9063: Add device tree support 2015-01-22 16:04:04 +00:00
da9063-irq.c mfd: Constify regmap and irq configuration data 2015-06-22 12:25:01 +01:00
da9150-core.c mfd: Constify regmap and irq configuration data 2015-06-22 12:25:01 +01:00
davinci_voicecodec.c mfd: davinci_voicecodec: Constify struct regmap_config 2015-01-22 15:56:24 +00:00
db8500-prcmu.c mfd: Constify regmap and irq configuration data 2015-06-22 12:25:01 +01:00
dbx500-prcmu-regs.h mfd: dbx500: Remove any mention of the BML8580CLK 2013-09-26 11:04:16 +02:00
dln2.c mfd: dln2: Use msecs_to_jiffies for time conversion 2015-03-26 14:20:18 +00: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: Constify of_device_id array 2015-03-26 14:20:18 +00:00
htc-egpio.c
htc-i2cpld.c mfd: htc-i2cpld: Pass the IRQF_ONESHOT flag 2015-06-22 12:25:26 +01:00
htc-pasic3.c mfd: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +00:00
intel_msic.c mfd: drop owner assignment from platform_drivers 2014-10-20 16:20:53 +02:00
intel_quark_i2c_gpio.c mfd: intel_quark_i2c_gpio: Don't crash if !DMI 2015-03-30 08:19:56 +01:00
intel_soc_pmic_core.c mfd: intel_soc_pmic: Ensure GPIO irq is set to input pin 2015-03-03 16:41:12 +00:00
intel_soc_pmic_core.h mfd: Constify regmap and irq configuration data 2015-06-22 12:25:01 +01:00
intel_soc_pmic_crc.c mfd: Constify regmap and irq configuration data 2015-06-22 12:25:01 +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 can: janz-ican3: add support for CAL/CANopen firmware 2015-05-06 08:03:20 +02:00
jz4740-adc.c mfd: drop owner assignment from platform_drivers 2014-10-20 16:20:53 +02:00
Kconfig mfd: Allow compile test of GPIO consumers if !GPIOLIB 2015-06-22 12:25:06 +01:00
kempld-core.c == Changes to existing drivers == 2015-04-14 17:29:55 -07:00
lm3533-core.c mfd: lm3533: Constify struct regmap_config 2015-01-22 15:56:17 +00: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: Constify regmap and irq configuration data 2015-06-22 12:25:01 +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: Assign subdevice ids automatically 2015-06-22 12:25:30 +01:00
lpc_sch.c mfd: lpc_sch: Enable WDT for Intel Quark X1000 2015-01-22 15:55:56 +00:00
Makefile mfd: arizona: Fix incorrect Makefile conditionals 2015-06-22 12:25:19 +01:00
max8907.c mfd: max8907: Make of_device_id array const 2014-06-03 08:11:32 +01:00
max8925-core.c mfd: Constify regmap and irq configuration data 2015-06-22 12:25:01 +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 mfd: Constify regmap and irq configuration data 2015-06-22 12:25:01 +01:00
max8997.c mfd: max8997: Make of_device_id array const 2014-06-03 08:11:30 +01:00
max8998-irq.c mfd: Constify regmap and irq configuration data 2015-06-22 12:25:01 +01:00
max8998.c mfd: max8998: Make of_device_id array const 2014-06-03 08:11:34 +01:00
max14577.c mfd: max14577: Fix obvious typo in company name in copyright 2014-11-25 16:19:24 +00:00
max77686.c mfd: max77686/802: Remove support for board files 2015-01-22 16:03:55 +00:00
max77693.c mfd: max77693: Modify flash cell name identifiers 2015-03-12 09:07:54 +00:00
max77843.c mfd: max77843: Add max77843 MFD driver core driver 2015-03-04 08:18:28 +00:00
mc13xxx-core.c mfd: mc13xxx-core: Pass the IRQF_ONESHOT flag 2015-06-22 12:25:24 +01:00
mc13xxx-i2c.c mfd: mc13xxx: i2c/spi: Constify struct regmap_config 2015-01-22 16:03:44 +00:00
mc13xxx-spi.c mfd: mc13xxx: i2c/spi: Constify struct regmap_config 2015-01-22 16:03:44 +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: drop owner assignment from platform_drivers 2014-10-20 16:20:53 +02:00
menelaus.c mfd: menelaus: Use macro for magic number 2015-03-30 10:06:55 +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: Check ACPI device companion before checking resources 2015-06-22 12:25:17 +01:00
mt6397-core.c RTC for 4.2 2015-06-25 18:55:33 -07:00
omap-usb-host.c mfd: omap-usb-host: Remove some unused functions 2015-01-22 16:03:53 +00:00
omap-usb-tll.c mfd: drop owner assignment from platform_drivers 2014-10-20 16:20:53 +02:00
omap-usb.h
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: Constify struct regmap_config 2015-01-22 15:56:21 +00:00
pcf50633-gpio.c
pcf50633-irq.c
pm8921-core.c mfd: drop owner assignment from platform_drivers 2014-10-20 16:20:53 +02:00
qcom_rpm.c mfd: qcom_rpm: Add support for IPQ8064 2015-03-30 08:19:58 +01:00
qcom-spmi-pmic.c mfd: qcom-spmi-pmic: Add specific compatible strings for Qualcomm's SPMI PMIC's 2015-03-30 10:07:08 +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: retu: Constify struct regmap_config 2015-01-22 15:56:19 +00:00
rk808.c mfd: Constify of_device_id array 2015-03-26 14:20:18 +00:00
rn5t618.c mfd: Add Ricoh RN5T618 PMIC core driver 2014-09-26 08:15:51 +01:00
rt5033.c mfd: rt5033: Add Richtek RT5033 driver core. 2015-01-22 15:55:47 +00:00
rtl8411.c mfd: rtsx: Using pcr_dbg replace dev_dbg 2015-03-03 16:41:21 +00:00
rts5209.c mfd: rtsx: Using pcr_dbg replace dev_dbg 2015-03-03 16:41:21 +00:00
rts5227.c mfd: rtsx: Using pcr_dbg replace dev_dbg 2015-03-03 16:41:21 +00:00
rts5229.c mfd: rtsx: Using pcr_dbg replace dev_dbg 2015-03-03 16:41:21 +00:00
rts5249.c mfd: rtsx: Using pcr_dbg replace dev_dbg 2015-03-03 16:41:21 +00:00
rtsx_pcr.c mfd: rtsx: Using pcr_dbg replace dev_dbg 2015-03-03 16:41:21 +00:00
rtsx_pcr.h mfd: rtsx: Add support for rts525A 2015-03-03 16:41:21 +00:00
rtsx_usb.c mfd: rtsx_usb: Prevent DMA from stack 2015-03-12 09:27:41 +00:00
sec-core.c mfd: sec-core: Enable RTC on S2MPS11 PMIC 2015-03-26 14:20:19 +00:00
sec-irq.c mfd: sec: Fix RTC alarm interrupt number on S2MPS11 2015-04-09 10:26:54 +01:00
si476x-cmd.c mfd: si476x-cmd: Remedy checkpatch style complains 2014-07-25 15:31:44 +01:00
si476x-i2c.c mfd: si476x-i2c: Pass the IRQF_ONESHOT flag 2015-06-22 12:25:29 +01:00
si476x-prop.c
sky81452.c mfd: Add support for Skyworks SKY81452 driver 2015-03-12 09:08:12 +00:00
sm501.c mfd: drop owner assignment from platform_drivers 2014-10-20 16:20:53 +02:00
smsc-ece1099.c mfd: smsc-ece1099: Constify struct regmap_config 2015-01-22 15:56:26 +00:00
ssbi.c mfd: drop owner assignment from platform_drivers 2014-10-20 16:20:53 +02:00
sta2x11-mfd.c mfd: drop owner assignment from platform_drivers 2014-10-20 16:20:53 +02: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
stmpe.c mfd: Constify regmap and irq configuration data 2015-06-22 12:25:01 +01:00
stmpe.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-12-30 16:59:59 -08: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 the ir-clk 2015-01-22 15:55:49 +00:00
syscon.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
t7l66xb.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
tc3589x.c mfd: Constify regmap and irq configuration data 2015-06-22 12:25:01 +01:00
tc6387xb.c mfd: tc6387xb: prepare/unprepare clocks 2014-11-25 16:18:58 +00:00
tc6393xb.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
ti_am335x_tscadc.c mfd: ti_am335x_tscadc: Remove unwanted reg_se_cache save 2015-03-03 16:41:15 +00: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: Constify regmap and irq configuration data 2015-06-22 12:25:01 +01:00
tps65010.c mfd: tps65010: Remove incorrect __exit markups 2015-04-09 10:26:40 +01:00
tps65090.c mfd: tps65090: Fix bonkers indenting strategy 2014-11-25 16:18:53 +00:00
tps65217.c mfd: tps65217: Constify struct regmap_config 2015-01-22 16:03:46 +00:00
tps65218.c mfd: tps65218: Constify struct regmap_config 2015-01-22 16:03:34 +00:00
tps65910.c mfd: tps65910: Work around silicon erratum SWCZ010 2014-09-26 08:15:48 +01:00
tps65911-comparator.c mfd: drop owner assignment from platform_drivers 2014-10-20 16:20:53 +02: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
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: drop owner assignment from platform_drivers 2014-10-20 16:20:53 +02:00
twl4030-irq.c mfd: twl4030-irq: Pass the IRQF_ONESHOT flag 2015-06-22 12:25:23 +01:00
twl4030-power.c mfd: twl4030-power: Fix pmic for boards that need AC charger disabled 2015-06-22 12:25:04 +01:00
twl6030-irq.c mfd: Constify regmap and irq configuration data 2015-06-22 12:25:01 +01:00
twl6040.c mfd: twl6040: Remove wrong and unneeded "platform:twl6040" modalias 2015-03-30 12:39:22 +01:00
twl-core.c mfd: twl-core: Constify struct regmap_config and reg_default array 2015-01-22 16:03:48 +00:00
twl-core.h
ucb1x00-assabet.c
ucb1x00-core.c ARM: sa1100: convert SA11x0 related code to use new chained handler helper 2015-06-18 14:03:08 +02:00
ucb1x00-ts.c
ucb1400_core.c
vexpress-sysreg.c mfd: vexpress: Remove non-DT code 2015-03-03 16:41:14 +00:00
viperboard.c mfd: Use mfd_add_hotplug_devices() helper 2014-11-25 16:18:42 +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 mfd: wm831x-auxadc: Pass the IRQF_ONESHOT flag 2015-06-22 12:25:25 +01:00
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: Constify regmap and irq configuration data 2015-06-22 12:25:01 +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: wm5102: Remove registers for output 3R from readable list 2015-04-09 10:26:48 +01:00
wm5110-tables.c mfd: wm5110: Add missing registers for AIF2 channels 3-6 2014-11-25 16:18:56 +00:00
wm8350-core.c mfd: wm8350-core: Pass the IRQF_ONESHOT flag 2015-06-22 12:25:26 +01: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: Set mfd id-base for regulator devs creation to avoid conflicts 2015-01-22 15:56:03 +00:00
wm8994-irq.c mfd: Constify regmap and irq configuration data 2015-06-22 12:25:01 +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: Document HP_CTRL_1L and HP_CTRL_1R registers 2014-11-25 16:18:55 +00:00