linux/drivers/mfd
Doug Anderson d6c15ed2bc mfd: cros_ec: Use the proper size when looking at the cros_ec_i2c result
We know how many bytes the EC should be sending us (which is also the
number of bytes transferred) and also how many bytes the EC actually
wanted to send to us.  When computing the checksum and copying back
data let's make sure we take the lesser of the two of those.  We'll
also complain if the EC tried to send us too many bytes.  The EC
sending us too few bytes is legit for when we send the EC an invalid
command.

This is based on similar code in cros_ec_spi.

Signed-off-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
2014-07-09 16:38:21 +01: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: Repair 'space before tab' warning 2014-07-09 16:38:03 +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: Resolve code style issues 2014-07-09 16:38:12 +01:00
ab8500-debugfs.c mfd: ab8500-debugfs: Simplify invalid debugfs data checking 2014-07-09 16:37:45 +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: Rid data size incompatibility warn when building for 64bit 2014-07-09 16:38:01 +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: Correct error message for addition of main IRQ chip 2014-06-03 08:11:45 +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: arizona: Rid data size incompatibility warn when building for 64bit 2014-07-09 16:38:01 +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 potential null pointer dereference 2014-07-09 14:58:01 +01:00
axp20x.c mfd: AXP20x: Add mfd driver for AXP20x PMIC 2014-06-03 08:11:25 +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: ec_dev->cmd_xfer() returns number of bytes received from EC 2014-07-09 14:58:20 +01:00
cros_ec.c mfd: cros_ec: Move EC interrupt to cros_ec_keyb 2014-07-09 14:58:20 +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: Fix volatile register definition ommissions 2014-03-19 08:58:13 +00:00
da9052-i2c.c mfd: da9052: Add new DA9053 BC chip variant 2014-03-19 08:58:25 +00:00
da9052-irq.c mfd: da9052: Introduce da9052-irq.c 2012-11-20 12:21:10 +01:00
da9052-spi.c mfd: da9052: Add new DA9053 BC chip variant 2014-03-19 08:58:25 +00:00
da9055-core.c mfd: dialog: Constify struct mfd_cell where possible 2014-01-06 09:13:25 +00: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 production silicon variant code 2014-03-19 08:58:19 +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: 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: 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
intel_soc_pmic_core.c mfd: intel_soc_pmic: Rid compiler working for unused ACPI match table 2014-07-09 16:37:54 +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: Make mfd_cell array const 2014-06-03 08:11:43 +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: sec-core: Prepare regulators for suspend state to reduce power-consumption 2014-07-09 14:58:12 +01:00
kempld-core.c mfd: kempld-core: Make mfd_cell array const 2014-06-03 08:11:31 +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: 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: Enable GPIO for Panther Point 2014-06-03 08:11:15 +01:00
lpc_sch.c mfd: Delete non-required instances of include <linux/init.h> 2014-03-19 08:58:07 +00:00
Makefile Merge branches 'ib-mfd-extcon-regulator-3.17', 'ib-mfd-gpio-3.17' and 'ib-mfd-mmc-3.17' into ibs-for-mfd-merged 2014-07-09 14:55:13 +01:00
max8907.c mfd: max8907: Make of_device_id array const 2014-06-03 08:11:32 +01: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: Fix possible NULL pointer dereference on i2c_new_dummy error 2014-03-19 08:58:10 +00: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: Cast to architecture agnostic data type 2014-06-03 08:11:50 +01:00
max77686-irq.c
max77686.c mfd: max77686: Make of_device_id array const 2014-06-03 08:11:30 +01:00
max77693.c mfd: max77693: Handle IRQs using regmap 2014-06-17 15:17:00 +01:00
mc13xxx-core.c mfd: mc13xxx: Use regmap irq framework for interrupts 2014-07-09 14:58:10 +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
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: Use module_i2c_driver 2014-06-03 08:12:47 +01:00
mfd-core.c mfd: core: Don't use devres functions before device is added 2014-06-03 08:11:18 +01:00
omap-usb-host.c mfd: omap-usb-host: Make of_device_id array const 2014-06-03 08:11:38 +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 mfd: palmas: Remove redundant of_match_ptr 2013-10-23 16:22:01 +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: Reconnect -ENOMEM error path 2014-07-09 14:58:14 +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
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
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: Add dma transfer function 2014-07-09 14:14:58 +01: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: Make mfd_cell array const 2014-06-03 08:11:39 +01:00
sec-core.c mfd: sec-core: Prepare regulators for suspend state to reduce power-consumption 2014-07-09 14:58:12 +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: 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: Make of_device_id array const 2014-06-03 08:11:25 +01: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: Rid data size incompatibility warn when building for 64bit 2014-07-09 16:37:55 +01:00
stmpe.h mfd: stmpe: Rid data size incompatibility warn when building for 64bit 2014-07-09 16:37:55 +01: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: Add support for sun6i PRCM (Power/Reset/Clock Management) unit 2014-06-03 08:11:40 +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: 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_am335x_tscadc.c mfd: ti_am335x_tscadc: Use devm_ioremap_resource() 2014-03-19 08:58:13 +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: Use dev_get_platdata() 2013-07-31 13:01:29 +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: Naturalise cross-architecture discrepancies 2014-02-19 13:30:30 +00:00
tps65218.c mfd: tps65218: Terminate of match table 2014-06-03 08:11:54 +01:00
tps65910.c mfd: tps65910: Rid data size incompatibility warn when building for 64bit 2014-07-09 16:38:01 +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: 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
twl4030-audio.c mfd: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
twl4030-irq.c mfd: Delete non-required instances of include <linux/init.h> 2014-03-19 08:58:07 +00:00
twl4030-power.c mfd: twl4030-power: Add a configuration to turn off oscillator during off-idle 2014-05-28 08:06:18 +01:00
twl6030-irq.c mfd: Delete non-required instances of include <linux/init.h> 2014-03-19 08:58:07 +00:00
twl6040.c mfd: twl6040: Correct HPPLL configuration for 19.2 and 38.4 MHz mclk 2014-06-03 08:11:28 +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 mfd: ucb1x00-core: Use SIMPLE_DEV_PM_OPS macro 2014-03-19 08:58:33 +00: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: Constify struct mfd_cell where possible 2014-01-06 09:13:29 +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: wm5102: Correct default for LDO Control 2 register 2014-06-03 08:12:55 +01:00
wm5110-tables.c mfd: arizona: Correct addresses of always-on trigger registers 2014-06-03 08:11:51 +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: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
wm8350-irq.c mfd: Delete non-required instances of include <linux/init.h> 2014-03-19 08:58:07 +00: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: Use dev_get_platdata() 2013-07-31 13:01:29 +01:00
wm8994-regmap.c mfd: wm8994: Add a bunch of missing defaults/readables 2014-07-09 14:58:07 +01:00
wm8994.h
wm8997-tables.c mfd: arizona: Correct addresses of always-on trigger registers 2014-06-03 08:11:51 +01:00