linux/drivers/mfd
Vic Yang 6f1d912b68 mfd: cros_ec: Add MKBP event support
Newer revisions of the ChromeOS EC add more events besides the keyboard
ones. So handle interrupts in the MFD driver and let consumers register
for notifications for the events they might care.

To keep backward compatibility, if the EC doesn't support MKBP event, we
fall back to the old MKBP key matrix host command.

Cc: Randall Spangler <rspangler@chromium.org>
Cc: Vincent Palatin <vpalatin@chromium.org>
Cc: Benson Leung <bleung@chromium.org>
Signed-off-by: Vic Yang <victoryang@google.com>
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Tested-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
2016-08-31 10:50:59 +01:00
..
88pm80x.c mfd: Use to_i2c_client() instead of open-coding it 2016-01-14 08:43:50 +00:00
88pm800.c
88pm805.c
88pm860x-core.c mfd: 88pm860x-core: Fix commenting and declaration spacing 2016-01-14 08:43:51 +00:00
88pm860x-i2c.c
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.c: Fix multiple warnings reported by Checkpatch 2016-01-14 08:43:53 +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: db8500 stop passing around platform data 2016-07-12 11:23:58 +02:00
ab8500-debugfs.c mfd: ab8500-debugfs: Trivial fix of spelling mistake on "between" 2016-05-09 16:26:15 +01:00
ab8500-gpadc.c mfd: ab8500-gpadc: Squash a whole bunch of Checkpatch warnings and one error 2016-01-14 08:43:56 +00:00
ab8500-sysctrl.c mfd: db8500 stop passing around platform data 2016-07-12 11:23:58 +02:00
abx500-core.c
act8945a.c mfd: act8945a: Use devm_mfd_add_devices() for mfd_device registration 2016-04-19 07:54:40 +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 Altera Arria10 DevKit System Resource Chip 2016-06-29 10:14:37 +01:00
arizona-core.c mfd: arizona: Add missing disable of PM runtime on probe error path 2016-06-29 10:16:07 +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 mfd: arizona: Check if AOD interrupts are pending before dispatching 2016-06-29 10:14:40 +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: Support Cirrus Logic CS47L24 and WM1831 2015-12-04 08:46:39 +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: Use gpiochip data pointer 2016-04-19 07:58:06 +01:00
atmel-flexcom.c mfd: atmel-flexcom: Add a driver for Atmel Flexible Serial Communication Unit 2015-10-30 17:19:49 +00:00
atmel-hlcdc.c mfd: atmel-hlcdc: Use devm_mfd_add_devices() for mfd_device registration 2016-04-19 07:54:58 +01:00
axp20x-i2c.c mfd: axp20x: Split the driver into core and i2c bits 2016-02-12 08:53:03 +00:00
axp20x-rsb.c mfd: axp20x: Add support for AXP809 PMIC 2016-04-19 07:54:08 +01:00
axp20x.c mfd: axp20x: Add axp20x-usb-power-supply for axp22x pmics 2016-06-29 10:14:37 +01:00
bcm590xx.c mfd: bcm590xx: Use devm_mfd_add_devices() for mfd_device registration 2016-04-19 07:55:05 +01:00
cros_ec.c mfd: cros_ec: Add MKBP event support 2016-08-31 10:50:59 +01: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_spi: Repair comparison ordering issue 2016-01-14 08:44:01 +00:00
cs47l24-tables.c mfd: cs47l24: Fix defaults array based on testing 2016-03-16 08:50:22 +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: da9053: Addition of extra registers for GPIOs 8-13 2015-10-30 17:19:49 +00: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 - New Device Support 2015-11-06 10:23:50 -08:00
da9055-core.c
da9055-i2c.c
da9062-core.c mfd: da9062: Fix missing volatile registers in the core regmap_range volatile lists 2016-03-16 08:50:27 +00:00
da9063-core.c
da9063-i2c.c mfd: da9063: Fix missing volatile registers in the core regmap_range volatile lists 2016-03-16 08:50:31 +00:00
da9063-irq.c mfd: da9063: Remove unused struct da9063_irq_data and define EVENTS_BUF_LEN 2016-04-19 07:53:42 +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: Remove pointless 'out of memory' error message 2016-01-14 08:44:05 +00:00
db8500-prcmu.c mfd: db8500 stop passing around platform data 2016-07-12 11:23:58 +02:00
dbx500-prcmu-regs.h
dln2.c
dm355evm_msp.c mfd: dm355evm_msp: Return directly after a failed platform_device_alloc() in add_child() 2016-06-29 10:16:22 +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-tsadc: Register touchscreen ADC driver 2016-02-11 15:40:41 +00:00
hi655x-pmic.c mfd: hi655x: Fix return value check in hi655x_pmic_probe() 2016-06-29 10:16:32 +01:00
hi6421-pmic-core.c mfd: hi6421-pmic: Use devm_mfd_add_devices() for mfd_device registration 2016-04-19 07:55:15 +01:00
htc-egpio.c mfd: htc-egpio: Use gpiochip data pointer 2016-04-19 07:58:23 +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 device property: don't bother the drivers with struct property_set 2016-04-09 03:10:50 +02:00
intel-lpss-pci.c device property: don't bother the drivers with struct property_set 2016-04-09 03:10:50 +02:00
intel-lpss.c - New Drivers 2016-05-20 11:10:24 -07:00
intel-lpss.h device property: don't bother the drivers with struct property_set 2016-04-09 03:10:50 +02:00
intel_msic.c
intel_quark_i2c_gpio.c - New Drivers 2016-05-20 11:10:24 -07:00
intel_soc_pmic_bxtwc.c mfd: intel_soc_pmic_bxtwc: 64 bit bug in bxtwc_val_store() 2015-10-30 17:19:47 +00:00
intel_soc_pmic_core.c mfd: intel_soc_pmic_core: Terminate panel control GPIO lookup table correctly 2016-05-09 13:27:40 +01:00
intel_soc_pmic_core.h
intel_soc_pmic_crc.c
ipaq-micro.c mfd: ipaq-micro: Use __maybe_unused to hide pm functions 2016-03-16 08:50:41 +00:00
janz-cmodio.c
jz4740-adc.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
Kconfig mfd: Add support for COMe-cSL6 and COMe-mAL10 to Kontron PLD driver 2016-06-29 10:16:36 +01:00
kempld-core.c mfd: Add support for COMe-cSL6 and COMe-mAL10 to Kontron PLD driver 2016-06-29 10:16:36 +01:00
lm3533-core.c mfd: lm3533: Fix unused variable build warning 2015-10-30 17:19:52 +00:00
lm3533-ctrlbank.c
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
lpc_ich.c mfd: lpc_ich: Intel device IDs for PCH 2015-11-24 11:10:46 +00:00
lpc_sch.c
Makefile mfd: altr_a10sr: Add Altera Arria10 DevKit System Resource Chip 2016-06-29 10:14:37 +01:00
max8907.c
max8925-core.c
max8925-i2c.c mfd: max8925-i2c: Make it explicitly non-modular 2016-06-29 10:14:30 +01:00
max8997-irq.c
max8997.c mfd: max8997: Make it explicitly non-modular 2016-06-29 10:14:30 +01:00
max8998-irq.c
max8998.c mfd: max8998: Make it explicitly non-modular 2016-06-29 10:14:29 +01:00
max14577.c mfd: max14577: Use module_init() instead of subsys_initcall() 2016-06-29 10:14:43 +01:00
max77620.c - Core Frameworks 2016-08-01 07:28:14 -04:00
max77686.c mfd: max77686: Use devm_mfd_add_devices and devm_regmap_add_irq_chip 2016-05-09 13:27:20 +01:00
max77693.c mfd: max77686/max77693: Fix misspelled Samsung address 2016-04-19 07:59:14 +01:00
max77843.c mfd: max77843: Make it explicitly non-modular 2016-06-29 10:14:28 +01:00
mc13xxx-core.c mfd: mc13xxx-core: Use of_property_read_bool() 2015-12-04 08:45:54 +00:00
mc13xxx-i2c.c
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
menelaus.c gpio: Include linux/gpio.h instead of asm/gpio.h 2016-02-16 00:20:03 +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 - New Drivers 2016-05-20 11:10:24 -07:00
mt6397-core.c mfd: mt6397: IRQ domain should initialize before mfd_add_devices() 2016-05-09 08:20:22 +01:00
omap-usb-host.c
omap-usb-tll.c mfd: omap-usb-tll: Include omap-usb.h 2016-06-29 10:14:33 +01:00
omap-usb.h
palmas.c
pcf50633-adc.c
pcf50633-core.c
pcf50633-gpio.c
pcf50633-irq.c mfd: pcf50633: Remove unneded ret variable 2015-10-30 17:19:42 +00:00
pm8921-core.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
qcom-spmi-pmic.c mfd: qcom-spmi-pmic: Don't access non-existing registers 2016-01-11 06:23:32 +00:00
qcom_rpm.c mfd: qcom_rpm: Parametrize also ack selector size 2016-06-29 10:16:47 +01: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
rk808.c mfd: rk808: Use devm_mfd_add_devices() for mfd_device registration 2016-04-19 07:55:59 +01:00
rn5t618.c mfd: rn5t618: Register restart handler 2016-06-29 10:11:35 +01:00
rt5033.c mfd: rt5033: Use devm_mfd_add_devices() for mfd_device registration 2016-04-19 07:56:17 +01:00
rtl8411.c
rts5209.c mfd: rtsx: Simplify function return logic 2015-10-30 17:19:44 +00:00
rts5227.c mfd: rtsx: Add support for rts522A 2015-10-30 17:19:51 +00:00
rts5229.c mfd: rtsx: Simplify function return logic 2015-10-30 17:19:44 +00:00
rts5249.c mfd: rtsx: Simplify function return logic 2015-10-30 17:19:44 +00:00
rtsx_pcr.c mfd: avoid newly introduced compiler warning 2015-11-06 10:47:12 -08:00
rtsx_pcr.h mfd: rtsx: Add support for rts522A 2015-10-30 17:19:51 +00:00
rtsx_usb.c
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 mistake "comptible" -> "compatible" 2016-06-29 10:14:31 +01: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 mfd: sm501: Use gpiochip data pointer 2016-04-19 07:58:37 +01:00
smsc-ece1099.c mfd: smsc-ece1099: Return directly after a function failure in smsc_i2c_probe() 2016-06-29 10:16:29 +01:00
ssbi.c
sta2x11-mfd.c mfd: sta2x11: Use platform_register/unregister_drivers() 2016-01-11 06:23:38 +00:00
stmpe-i2c.c - New Device Support 2015-09-04 11:35:03 -07:00
stmpe-spi.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
stmpe.c mfd: stmpe: Move platform data into MFD driver 2016-06-29 10:15:51 +01:00
stmpe.h
stw481x.c mfd: stw481x: Use devm_mfd_add_devices() for mfd_device registration 2016-04-19 07:56:35 +01:00
sun6i-prcm.c
syscon.c mfd: syscon: Make syscon_regmap_config const 2016-03-16 08:50:18 +00:00
t7l66xb.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
tc3589x.c
tc6387xb.c
tc6393xb.c mfd: tc6393xb: Use gpiochip data pointer 2016-04-19 07:58:44 +01:00
ti_am335x_tscadc.c mfd: ti_am335x_tscadc: Rename regmap_tscadc to regmap 2016-06-29 10:14:39 +01:00
timberdale.c [media] include/media: move platform_data to linux/platform_data/media 2015-11-17 06:58:42 -02:00
timberdale.h
tmio_core.c
tps6105x.c mfd: tps6105x: Remove linux/regulator/driver.h include 2016-05-09 08:21:11 +01:00
tps6507x.c mfd: tps6507: Fix white space warnings reported by checkpatch 2016-06-29 10:14:35 +01:00
tps6586x.c
tps65010.c mfd: tps65010: Use gpiochip data pointer 2016-04-19 07:58:51 +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: Use devm_mfd_add_devices() for mfd_device registration 2016-04-19 07:56:49 +01:00
tps65218.c mfd: Export OF module alias information in missing drivers 2015-08-11 15:09:10 +01:00
tps65910.c mfd: tps65910: Use devm_mfd_add_devices and devm_regmap_add_irq_chip 2016-05-09 13:27:39 +01:00
tps65911-comparator.c
tps65912-core.c mfd: tps65912: Add driver for the TPS65912 PMIC 2016-02-11 16:30:59 +00:00
tps65912-i2c.c mfd: tps65912: Add driver for the TPS65912 PMIC 2016-02-11 16:30:59 +00:00
tps65912-spi.c mfd: tps65912: Add driver for the TPS65912 PMIC 2016-02-11 16:30:59 +00:00
tps80031.c
twl-core.c mfd: twl-core: Refactoring for add_numbered_child() 2016-06-29 10:16:16 +01:00
twl-core.h
twl4030-audio.c
twl4030-irq.c remove lots of IS_ERR_VALUE abuses 2016-05-27 15:26:11 -07:00
twl4030-power.c mfd: twl4030-power: Remove driver path in file comment 2016-05-09 08:24:41 +01:00
twl6030-irq.c
twl6040.c mfd: twl6040: Handle mclk used for HPPLL and optional internal clock source 2016-06-29 10:16:43 +01:00
ucb1x00-assabet.c
ucb1x00-core.c mfd: ucb1x00: Use gpiochip data pointer 2016-04-19 07:59:00 +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
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
wm831x-auxadc.c
wm831x-core.c mfd: wm831x: Fix possible NULL pointer dereference 2015-10-26 14:49:04 +00:00
wm831x-i2c.c
wm831x-irq.c
wm831x-otp.c mfd: wm831x: Fix broken wm831x_unique_id_show 2016-01-11 06:23:21 +00:00
wm831x-spi.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
wm5102-tables.c mfd: wm5102: Fix defaults array based on testing 2016-03-16 08:50:21 +00:00
wm5110-tables.c mfd: wm5110: ARIZONA_CLOCK_CONTROL should be volatile 2016-05-09 15:41:35 +01:00
wm8350-core.c
wm8350-gpio.c
wm8350-i2c.c
wm8350-irq.c
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 sound updates for 4.3-rc1 2015-09-04 11:46:02 -07:00
wm8994-irq.c mfd: wm8994: Fix NULL pointer exception on missing pdata 2015-08-11 15:09:13 +01:00
wm8994-regmap.c
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