linux/drivers/mfd
Brian Norris 11799564fc mfd: cros_ec: Retry commands when EC is known to be busy
Commit 001dde9400 ("mfd: cros ec: spi: Fix "in progress" error
signaling") pointed out some bad code, but its analysis and conclusion
was not 100% correct.

It *is* correct that we should not propagate result==EC_RES_IN_PROGRESS
for transport errors, because this has a special meaning -- that we
should follow up with EC_CMD_GET_COMMS_STATUS until the EC is no longer
busy. This is definitely the wrong thing for many commands, because
among other problems, EC_CMD_GET_COMMS_STATUS doesn't actually retrieve
any RX data from the EC, so commands that expected some data back will
instead start processing junk.

For such commands, the right answer is to either propagate the error
(and return that error to the caller) or resend the original command
(*not* EC_CMD_GET_COMMS_STATUS).

Unfortunately, commit 001dde9400 forgets a crucial point: that for
some long-running operations, the EC physically cannot respond to
commands any more. For example, with EC_CMD_FLASH_ERASE, the EC may be
re-flashing its own code regions, so it can't respond to SPI interrupts.
Instead, the EC prepares us ahead of time for being busy for a "long"
time, and fills its hardware buffer with EC_SPI_PAST_END. Thus, we
expect to see several "transport" errors (or, messages filled with
EC_SPI_PAST_END). So we should really translate that to a retryable
error (-EAGAIN) and continue sending EC_CMD_GET_COMMS_STATUS until we
get a ready status.

IOW, it is actually important to treat some of these "junk" values as
retryable errors.

Together with commit 001dde9400, this resolves bugs like the
following:

1. EC_CMD_FLASH_ERASE now works again (with commit 001dde9400, we
   would abort the first time we saw EC_SPI_PAST_END)
2. Before commit 001dde9400, transport errors (e.g.,
   EC_SPI_RX_BAD_DATA) seen in other commands (e.g.,
   EC_CMD_RTC_GET_VALUE) used to yield junk data in the RX buffer; they
   will now yield -EAGAIN return values, and tools like 'hwclock' will
   simply fail instead of retrieving and re-programming undefined time
   values

Fixes: 001dde9400 ("mfd: cros ec: spi: Fix "in progress" error signaling")
Signed-off-by: Brian Norris <briannorris@chromium.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
2018-05-23 06:59:00 +01:00
..
88pm80x.c mfd: Use to_i2c_client() instead of open-coding it 2016-01-14 08:43:50 +00:00
88pm800.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
88pm805.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
88pm860x-core.c mfd: 88pm860x: Move over to new I2C device .probe() call 2016-11-17 16:10:24 +01:00
88pm860x-i2c.c
Kconfig mfd: pm8xxx: Make elegible for COMPILE_TEST 2018-01-08 11:03:35 +00:00
Makefile Immutable branch for both MFD and EXTCON tree. 2018-01-08 11:02:37 +00:00
aat2870-core.c mfd: aat2870-core: Remove unnecessary 'out of memory' message 2016-01-14 08:43:52 +00:00
ab3100-core.c mfd: ab3100-core: Make it explicitly non-modular 2016-11-29 08:21:29 +00:00
ab3100-otp.c mfd: ab2100-otp: Remove pointless 'out of memory' error message 2016-01-14 08:43:53 +00:00
ab8500-core.c mfd: ab8500-core: Constify attribute_group structures 2017-09-05 08:46:00 +01:00
ab8500-debugfs.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
ab8500-gpadc.c mfd: ab8500-gpadc: Make it explicitly non-modular 2016-11-29 08:21:31 +00:00
ab8500-sysctrl.c mfd: ab8500-sysctrl: Handle probe deferral 2017-02-13 09:29:43 +00:00
abx500-core.c mfd: abx500-core: drop unused MODULE_ tags from non-modular code 2016-11-29 08:21:32 +00:00
ac100.c mfd: ac100: Add driver for X-Powers AC100 audio codec / RTC combo IC 2016-08-08 12:53:26 +01:00
act8945a.c mfd: act8945a: Add .of_compatible for act8945a-charger 2016-10-04 15:48:03 +01:00
adp5520.c mfd: adp5520: Some trivial 'no space before tab' fixes 2016-01-14 08:43:57 +00:00
altera-a10sr.c mfd: altr_a10sr: Add Arria10 DevKit Reset Controller 2017-04-27 09:25:04 +01:00
arizona-core.c mfd: arizona: Remove audio related device tree code 2017-09-20 17:34:04 +01:00
arizona-i2c.c mfd: arizona-i2c: Add blank line formatting after declaration 2016-01-14 08:43:58 +00:00
arizona-irq.c kernel/irq: Extend lockdep class for request mutex 2017-12-28 12:26:35 +01:00
arizona-spi.c mfd: arizona: Support Cirrus Logic CS47L24 and WM1831 2015-12-04 08:46:39 +00:00
arizona.h mfd: arizona: Remove totally unused forward declaration 2017-02-13 09:29:40 +00:00
as3711.c mfd: as3711: Use devm_mfd_add_devices() for mfd_device registration 2016-04-19 07:54:50 +01:00
as3722.c mfd: as3722: Use devm_mfd_add_devices and devm_regmap_add_irq_chip 2016-05-09 08:24:46 +01:00
asic3.c mfd: asic3: Make use of raw_spinlock variants 2017-04-27 09:25:05 +01:00
atmel-flexcom.c atmel_flexcom: Support resuming after a chip reset 2018-01-08 11:03:35 +00:00
atmel-hlcdc.c mfd: atmel-hlcdc: Do not sleep in atomic context 2016-10-04 15:48:04 +01:00
atmel-smc.c mfd: syscon: atmel-smc: Add helper to retrieve register layout 2017-09-05 08:46:01 +01:00
axp20x-i2c.c mfd: axp20x-i2c: Add i2c-ids to fix module auto-loading 2016-11-29 08:21:25 +00:00
axp20x-rsb.c mfd: axp20x: Add support for AXP813 PMIC 2017-09-05 08:46:00 +01:00
axp20x.c mfd: axp20x: Mark axp288 CHRG_BAK_CTRL register volatile 2018-01-08 11:03:35 +00:00
bcm590xx.c mfd: bcm590xx: Simplify a test 2016-11-29 08:21:33 +00:00
bd9571mwv.c mfd: Add ROHM BD9571MWV-M MFD PMIC driver 2017-09-05 08:46:00 +01:00
cros_ec.c cros_ec: Split cros_ec_devs module 2017-12-15 10:45:11 +00:00
cros_ec_acpi_gpe.c mfd: cros_ec: Add ACPI GPE handler for LID0 devices 2017-04-27 09:25:03 +01:00
cros_ec_dev.c platform/chrome: mfd/cros_ec_dev: Add sysfs entry to set keyboard wake lid angle 2018-04-10 22:25:07 -07:00
cros_ec_dev.h cros_ec: Move cros_ec_dev module to drivers/mfd 2017-12-15 10:46:06 +00:00
cros_ec_i2c.c mfd: cros_ec_i2c: Fix trivial 'tabs before spaces' whitespace issue. 2016-01-14 08:44:01 +00:00
cros_ec_spi.c mfd: cros_ec: Retry commands when EC is known to be busy 2018-05-23 06:59:00 +01:00
cs47l24-tables.c mfd: arizona: Mark AIFx_TX_BCLK_RATE as readable for cs47l24 2016-11-21 13:00:18 +00:00
cs5535-mfd.c mfd: cs5535-mfd: Add missing line spacing and make local array static 2016-01-14 08:44:02 +00:00
da903x.c mfd: da903x: Fix white space and split string issues 2016-01-14 08:44:03 +00:00
da9052-core.c mfd: da9052: Fix manual ADC read after timed out read 2017-09-05 08:46:00 +01:00
da9052-i2c.c mfd: da9052-i2c: Fix tabbing/whitespace issue 2016-01-14 08:44:03 +00:00
da9052-irq.c mfd: da9052-irq: Fix trivial 'space before comma' error 2016-01-14 08:44:04 +00:00
da9052-spi.c mfd: da9052: Constify spi_device_id 2017-09-05 08:46:01 +01:00
da9055-core.c mfd: Constify regmap and irq configuration data 2015-06-22 12:25:01 +01:00
da9055-i2c.c mfd: da9055: Constify i2c_device_id 2017-09-05 08:46:01 +01:00
da9062-core.c Revert "mfd: da9061: Fix to remove BBAT_CONT register from chip model" 2017-08-22 09:03:00 +01:00
da9063-core.c mfd: da9063: Update author information to remove incorrect e-mail addresses 2016-10-04 15:48:01 +01:00
da9063-i2c.c mfd: da9063: Update author information to remove incorrect e-mail addresses 2016-10-04 15:48:01 +01:00
da9063-irq.c mfd: da9063: Update author information to remove incorrect e-mail addresses 2016-10-04 15:48:01 +01:00
da9150-core.c mfd: da9150: Use DEFINE_RES_IRQ_NAMED() help macro for IRQ resource 2015-10-13 11:28:36 +01:00
davinci_voicecodec.c mfd: davinci_voicecodec: Tidyup header difinitions 2016-11-29 08:21:27 +00:00
db8500-prcmu.c mfd: db8500-prcmu: Get rid of cpufreq dependency 2017-08-22 15:49:33 +02:00
dbx500-prcmu-regs.h
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: Move header file out of I2C realm 2017-08-15 08:06:14 +01:00
exynos-lpass.c mfd: exynos: Use devm_of_platform_populate() 2017-07-06 08:29:12 +01:00
ezx-pcap.c Merge remote-tracking branches 'spi/topic/omap-100k', 'spi/topic/omap-uwire', 'spi/topic/owner', 'spi/topic/pxa' and 'spi/topic/pxa2xx' into spi-next 2015-11-04 11:02:12 +00:00
fsl-imx25-tsadc.c mfd: fsl-imx25: Clean up irq settings during removal 2017-10-24 09:12:14 +01:00
hi655x-pmic.c mfd: hi655x: Add the clock cell to provide WiFi and Bluetooth 2017-04-27 11:54:43 +01:00
hi6421-pmic-core.c mfd: hi6421-pmic: Add support for HiSilicon Hi6421v530 2017-09-05 08:46:00 +01:00
htc-i2cpld.c mfd: htc-i2cpld: Use gpiochip data pointer 2016-04-19 07:58:30 +01:00
htc-pasic3.c
intel-lpss-acpi.c mfd: intel-lpss: Remove left over variable 2017-04-27 09:25:04 +01:00
intel-lpss-pci.c mfd: intel-lpss: Add missing PCI ID for Intel Sunrise Point LPSS devices 2017-09-05 08:46:01 +01:00
intel-lpss.c PM / mfd: intel-lpss: Use DPM_FLAG_SMART_SUSPEND 2018-01-10 00:48:25 +01:00
intel-lpss.h PM / mfd: intel-lpss: Push system sleep callbacks to late/early stages 2017-10-05 12:59:54 +02:00
intel_msic.c mfd: intel_msic: Make it explicitly non-modular 2016-10-04 15:48:03 +01:00
intel_quark_i2c_gpio.c mfd: intel_quark_i2c_gpio: Add support for SIMATIC IOT2000 platform 2017-07-06 08:29:12 +01:00
intel_soc_pmic_bxtwc.c mfd: intel_soc_pmic_bxtwc: Use chained IRQs for second level IRQ chips 2017-06-19 15:45:01 +01:00
intel_soc_pmic_chtdc_ti.c mfd: Add support for Cherry Trail Dollar Cove TI PMIC 2017-10-13 10:42:58 +01:00
intel_soc_pmic_chtwc.c mfd: Add Cherry Trail Whiskey Cove PMIC driver 2017-07-06 08:29:13 +01:00
intel_soc_pmic_core.c mfd: Remove duplicate includes 2018-01-08 11:03:35 +00:00
intel_soc_pmic_core.h mfd: intel_soc_pmic: Export separate mfd-cell configs for BYT and CHT 2017-09-05 08:46:02 +01:00
intel_soc_pmic_crc.c mfd: intel_soc_pmic: Export separate mfd-cell configs for BYT and CHT 2017-09-05 08:46:02 +01:00
ipaq-micro.c mfd: ipaq-micro: Dump debugging hexdumps 2017-07-06 08:29:11 +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 genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
kempld-core.c mfd: kempld-core: Use resource_size function on resource object 2018-01-08 11:03:34 +00:00
lm3533-core.c mfd: lm3533: Fix unused variable build warning 2015-10-30 17:19:52 +00:00
lm3533-ctrlbank.c
lp873x.c mfd: lp873x: Remove unused mutex lock from struct lp873x 2016-10-04 15:48:04 +01:00
lp3943.c mfd: lp3943: Use devm_mfd_add_devices() for mfd_device registration 2016-04-19 07:55:23 +01:00
lp8788-irq.c mfd: lp8788-irq: Uninitialized variable in irq handler 2016-04-11 13:31:40 +01:00
lp8788.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
lp87565.c mfd: lp87565: Convert to use devm_mfd_add_devices() 2017-09-05 08:46:01 +01:00
lpc_ich.c mfd: lpc_ich: Do not touch SPI-NOR write protection bit on Apollo Lake 2018-01-08 11:03:35 +00:00
lpc_sch.c mfd: lpc_sch: Enable WDT for Intel Quark X1000 2015-01-22 15:55:56 +00:00
max8907.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
max8925-core.c mfd: Kill off set_irq_flags usage 2015-08-11 15:09:01 +01:00
max8925-i2c.c mfd: max8925-i2c: Drop unnecessary static 2017-09-05 08:46:00 +01:00
max8997-irq.c mfd: max8997-irq: 'inline' should be at the beginning of the declaration 2016-10-04 15:48:05 +01:00
max8997.c mfd: max8997: Make it explicitly non-modular 2016-06-29 10:14:30 +01:00
max8998-irq.c mfd: max899x: Avoid redundant irq_data lookup 2015-08-11 15:09:08 +01:00
max8998.c mfd: max8998: Fix potential NULL pointer dereference 2017-09-05 08:46:00 +01:00
max14577.c mfd: max14577: Change Krzysztof Kozlowski's email to kernel.org 2016-10-04 15:48:02 +01:00
max77620.c treewide: Fix printk() message errors 2016-12-14 10:54:27 +01:00
max77686.c mfd: max77686: Remove I2C device ID table 2017-02-13 09:29:43 +00:00
max77693.c mfd: max77693: Add muic of_compatible in mfd_cell 2017-10-13 10:42:58 +01:00
max77843.c mfd: Remove duplicate includes 2018-01-08 11:03:35 +00:00
mc13xxx-core.c mfd: mc13xxx-core: Use of_property_read_bool() 2015-12-04 08:45:54 +00:00
mc13xxx-i2c.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
mc13xxx-spi.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
mc13xxx.h
mcp-core.c
mcp-sa11x0.c mfd: drop owner assignment from platform_drivers 2014-10-20 16:20:53 +02:00
menelaus.c mfd: menelaus: Remove obsolete local_irq_disable() and local_irq_enable() 2017-04-27 11:54:46 +01:00
menf21bmc.c mfd: menf21bmc: Use devm_mfd_add_devices() for mfd_device registration 2016-04-19 07:55:30 +01:00
mfd-core.c mfd: core: Fix device reference leak in mfd_clone_cell 2016-11-29 08:21:34 +00:00
motorola-cpcap.c mfd: motorola-cpcap: Use devm_of_platform_populate() 2017-07-06 08:29:12 +01:00
mt6397-core.c mfd: mt6397: Align the placement at which the mfd_cell of LED is defined 2017-04-27 09:25:05 +01:00
mxs-lradc.c mfd: mxs-lradc: Fix error handling in mxs_lradc_probe() 2017-10-24 09:12:14 +01:00
omap-usb-host.c mfd: omap-usb-host: Return value is not 'const int' 2016-10-04 15:48:05 +01:00
omap-usb-tll.c mfd: omap-usb-tll: Fix register offsets 2017-09-05 08:46:02 +01:00
omap-usb.h
palmas.c mfd: palmas: Assign the right powerhold mask for tps65917 2018-01-08 11:03:34 +00:00
pcf50633-adc.c
pcf50633-core.c mfd: pcf50633: Fix spelling mistake: 'Falied' -> 'Failed' 2018-01-08 11:03:34 +00:00
pcf50633-gpio.c
pcf50633-irq.c mfd: pcf50633: Remove unneded ret variable 2015-10-30 17:19:42 +00:00
qcom-pm8xxx.c mfd: pm8xxx: add support to pm8821 2016-11-29 08:21:36 +00:00
qcom-spmi-pmic.c mfd: qcom-spmi-pmic: Use devm_of_platform_populate() 2017-07-06 08:29:12 +01:00
qcom_rpm.c mfd: qcom_rpm: Handle message RAM clock 2016-10-04 15:48:02 +01:00
rave-sp.c mfd: Add driver for RAVE Supervisory Processor 2018-01-08 10:08:35 +00:00
rc5t583-irq.c mfd: rc5t583: Use devm_mfd_add_devices and devm_request_threaded_irq 2016-05-09 13:27:38 +01:00
rc5t583.c mfd: rc5t583: Use devm_mfd_add_devices and devm_request_threaded_irq 2016-05-09 13:27:38 +01:00
rdc321x-southbridge.c mfd: rdc321x: Use devm_mfd_add_devices() for mfd_device registration 2016-04-19 07:55:52 +01:00
retu-mfd.c mfd: retu: Add OF device ID table 2017-07-18 08:27:18 +01:00
rk808.c mfd: rk808: Add RK805 power key support 2017-08-21 08:54:56 +01:00
rn5t618.c mfd: rn5t618: Unregister restart handler on remove 2017-07-06 08:29:11 +01:00
rt5033.c mfd: rt5033: Use devm_mfd_add_devices() for mfd_device registration 2016-04-19 07:56:17 +01:00
sec-core.c mfd: sec: Use devm_mfd_add_devices and devm_regmap_add_irq_chip 2016-05-09 13:27:38 +01:00
sec-irq.c mfd: sec: Use devm_mfd_add_devices and devm_regmap_add_irq_chip 2016-05-09 13:27:38 +01:00
si476x-cmd.c
si476x-i2c.c mfd: si476x-i2c: Fix spelling mistakes "Failet" and "gett" 2016-11-29 08:21:29 +00:00
si476x-prop.c
sky81452.c mfd: sky81452: Use devm_mfd_add_devices() for mfd_device registration 2016-04-19 07:56:28 +01:00
sm501.c i2c: gpio: Augment all boardfiles to use open drain 2017-10-30 08:42:43 +01:00
smsc-ece1099.c mfd: smsc-ece: Use devm_of_platform_populate() 2017-07-06 08:29:12 +01:00
sprd-sc27xx-spi.c mfd: Add Spreadtrum SC27xx series PMICs driver 2017-11-01 09:32:54 +00:00
ssbi.c mfd: ssbi: Use devm_of_platform_populate() 2017-11-01 09:32:23 +00:00
sta2x11-mfd.c mfd: Convert remaining uses of pr_warning to pr_warn 2017-04-27 09:25:05 +01:00
stm32-lptimer.c mfd: stm32: Adopt SPDX identifier 2018-01-08 11:03:35 +00:00
stm32-timers.c mfd: stm32: Adopt SPDX identifier 2018-01-08 11:03:35 +00:00
stmpe-i2c.c mfd: Add STMPE1600 support 2016-08-10 09:25:18 +01:00
stmpe-spi.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
stmpe.c mfd: stmpe: Fix bit clearing on STMPE1600 2017-04-27 09:25:07 +01:00
stmpe.h mfd: Add STMPE1600 support 2016-08-10 09:25:18 +01:00
stw481x.c mfd: stw481x: Make three arrays static const, reduces object code size 2017-10-13 10:42:58 +01:00
sun4i-gpadc.c mfd: sun4i-gpadc: Fix 'cast from pointer to integer of different size' warning 2016-11-29 08:21:26 +00:00
sun6i-prcm.c mfd: sun6i-prcm: Add codec analog controls sub-device for Allwinner A23 2017-02-13 09:29:40 +00:00
syscon.c mfd: syscon: Add hardware spinlock support 2018-01-12 18:32:55 +00:00
t7l66xb.c mfd: t7l66xb: Handle return value of clk_prepare_enable 2017-09-05 08:46:01 +01:00
tc3589x.c mfd: tc3589x: Improve function-level documentation 2016-11-29 08:21:19 +00:00
tc6387xb.c mfd: tc6387xb: prepare/unprepare clocks 2014-11-25 16:18:58 +00:00
tc6393xb.c mfd: tc6393xb: Handle return value of clk_prepare_enable 2017-07-06 08:29:12 +01:00
ti-lmu.c mfd: Add TI LMU driver 2017-04-27 09:25:04 +01:00
ti_am335x_tscadc.c mfd: ti_am335x_tscadc: Remove redundant assignment to node 2018-01-08 11:03:34 +00:00
timberdale.c Input: tsc2007 - move header file out of I2C realm 2017-05-22 17:26:58 -07:00
timberdale.h
tmio_core.c mfd: tmio: Move register macros to tmio_core.c 2018-01-08 11:03:34 +00:00
tps6105x.c mfd: tps6105x: Add OF device ID table 2017-07-18 08:27:37 +01:00
tps6507x.c mfd: tps6507: Fix white space warnings reported by checkpatch 2016-06-29 10:14:35 +01:00
tps6586x.c mfd: Kill off set_irq_flags usage 2015-08-11 15:09:01 +01:00
tps65010.c mfd: tps65010: Move header file out of I2C realm 2017-08-15 08:27:22 +01:00
tps65086.c mfd: tps65086: Add driver for the TPS65086 PMIC 2016-03-16 08:50:15 +00:00
tps65090.c mfd: tps65090: Set regmap config reg counts properly 2016-03-16 08:50:36 +00:00
tps65217.c mfd: tps65217: Introduce dependency on CONFIG_OF 2017-10-13 10:42:58 +01:00
tps65218.c mfd: tps65218: Introduce dependency on CONFIG_OF 2017-10-13 10:42:59 +01:00
tps65910.c regulator: tps65910: wire up sleep control configuration 2017-06-15 18:23:27 +01:00
tps65911-comparator.c mfd: drop owner assignment from platform_drivers 2014-10-20 16:20:53 +02:00
tps65912-core.c mfd: tps65912: Move regmap config into core driver 2016-11-29 08:21:21 +00:00
tps65912-i2c.c mfd: tps65912: Export OF device ID table as module aliases 2017-02-13 09:29:43 +00:00
tps65912-spi.c mfd: tps65912: Fix variable name for SPI remove 2017-04-27 09:25:04 +01:00
tps68470.c mfd: Add support for TPS68470 device 2017-09-05 08:46:01 +01:00
tps80031.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
twl-core.c mfd: twl-core: Improve the documentation 2017-09-05 08:45:59 +01:00
twl-core.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
twl4030-audio.c mfd: twl4030-audio: Fix sibling-node lookup 2017-11-29 16:28:45 +00:00
twl4030-irq.c mfd: twl: Move header file out of I2C realm 2017-09-04 14:41:02 +01:00
twl4030-power.c mfd: twl: Move header file out of I2C realm 2017-09-04 14:41:02 +01:00
twl6030-irq.c mfd: twl: Move header file out of I2C realm 2017-09-04 14:41:02 +01:00
twl6040.c mfd: twl6040: Fix child-node lookup 2017-11-29 16:29:36 +00:00
ucb1x00-assabet.c
ucb1x00-core.c mfd: ucb1x00: Remove NO_IRQ check 2016-10-04 15:48:03 +01:00
ucb1x00-ts.c
ucb1400_core.c
vexpress-sysreg.c mfd: vexpress-sysreg: Switch to gpiochip_add_data() 2016-04-19 07:59:06 +01:00
viperboard.c mfd: Use mfd_add_hotplug_devices() helper 2014-11-25 16:18:42 +00:00
vx855.c
wl1273-core.c mfd: wl1273-core: Use devm_mfd_add_devices() for mfd_device registration 2016-05-09 13:27:39 +01:00
wm97xx-core.c mfd: wm97xx-core: core support for wm97xx Codec 2017-09-19 17:07:24 +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: wm831x: Remove redundant !pdata checks 2017-07-06 08:29:11 +01:00
wm831x-i2c.c mfd: wm831x-i2c: Add NULL check before pointer dereference 2017-07-06 08:29:11 +01:00
wm831x-irq.c mfd: wm831x: Add basic device tree binding 2017-03-23 11:45:50 +00:00
wm831x-otp.c mfd: wm831x: Fix broken wm831x_unique_id_show 2016-01-11 06:23:21 +00:00
wm831x-spi.c mfd: wm831x-spi: Add NULL check before pointer dereference 2017-07-06 08:29:11 +01:00
wm5102-tables.c mfd: wm5102: Remove spurious trailing spaces 2016-11-29 08:21:26 +00:00
wm5110-tables.c mfd: wm5110: ARIZONA_CLOCK_CONTROL should be volatile 2016-05-09 15:41:35 +01: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: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
wm8350-irq.c mfd: Kill off set_irq_flags usage 2015-08-11 15:09:01 +01:00
wm8350-regmap.c
wm8400-core.c mfd: Use IS_ENABLED(CONFIG_FOO) instead of checking FOO || FOO_MODULE 2016-05-09 08:23:56 +01:00
wm8994-core.c mfd: wm8994-core: Don't use managed regulator bulk get API 2016-11-29 08:21:27 +00:00
wm8994-irq.c mfd: wm8994: Fix NULL pointer exception on missing pdata 2015-08-11 15:09:13 +01:00
wm8994-regmap.c mfd: wm8994-regmap: Constify reg_default tables 2015-08-11 15:08:47 +01:00
wm8994.h
wm8997-tables.c sound updates for 4.3-rc1 2015-09-04 11:46:02 -07:00
wm8998-tables.c mfd: wm8998: Fix defaults array based on testing 2016-03-16 08:50:22 +00:00