linux/drivers/platform/chrome
Brian Norris 6ad16b78a0
platform/chrome: don't report EC_MKBP_EVENT_SENSOR_FIFO as wakeup
EC_MKBP_EVENT_SENSOR_FIFO events can be triggered for a variety of
reasons, and there are very few cases in which they should be treated as
wakeup interrupts (particularly, when a certain
MOTIONSENSE_MODULE_FLAG_* is set, but this is not even supported in the
mainline cros_ec_sensor driver yet). Most of the time, they are benign
sensor readings. In any case, the top-level cros_ec device doesn't know
enough to determine that they should wake the system, and so it should
not report the event. This would be the job of the cros_ec_sensors
driver to parse.

This patch adds checks to cros_ec_get_next_event() such that it doesn't
signal 'wakeup' for events of type EC_MKBP_EVENT_SENSOR_FIFO.

This patch is particularly relevant on devices like Scarlet (Rockchip
RK3399 tablet, known as Acer Chromebook Tab 10), where the EC firmware
reports sensor events much more frequently. This was causing
/sys/power/wakeup_count to increase very frequently, often needlessly
interrupting our ability to suspend the system.

Signed-off-by: Brian Norris <briannorris@chromium.org>
Signed-off-by: Benson Leung <bleung@chromium.org>
2018-11-13 21:25:28 -08:00
..
Kconfig platform/chrome: Move cros-ec transport drivers to drivers/platform. 2018-07-03 12:40:06 -07:00
Makefile platform/chrome: Move cros-ec transport drivers to drivers/platform. 2018-07-03 12:40:06 -07:00
chromeos_laptop.c platform/chrome: chromeos_laptop: fix touchpad button mapping on Celes 2018-05-29 15:11:04 -07:00
chromeos_pstore.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
chromeos_tbmc.c platform/chrome: chromeos_tbmc - Remove unneeded const 2018-10-09 22:40:12 -07:00
cros_ec_debugfs.c mfd: cros_ec: Don't try to grab log when suspended 2018-05-29 09:10:39 +01:00
cros_ec_i2c.c platform/chrome: Move cros-ec transport drivers to drivers/platform. 2018-07-03 12:40:06 -07:00
cros_ec_lightbar.c platform/chrome: Use to_cros_ec_dev more broadly 2018-05-30 11:53:40 -07:00
cros_ec_lpc.c platform/chrome: Add a new interrupt path for cros_ec_lpc 2018-10-09 21:44:44 -07:00
cros_ec_lpc_mec.c platform/chrome: Move mfd/cros_ec_lpc* includes to drivers/platform. 2018-09-07 15:56:36 +08:00
cros_ec_lpc_mec.h platform/chrome: Move mfd/cros_ec_lpc* includes to drivers/platform. 2018-09-07 15:56:36 +08:00
cros_ec_lpc_reg.c platform/chrome: Move mfd/cros_ec_lpc* includes to drivers/platform. 2018-09-07 15:56:36 +08:00
cros_ec_lpc_reg.h platform/chrome: Move mfd/cros_ec_lpc* includes to drivers/platform. 2018-09-07 15:56:36 +08:00
cros_ec_proto.c platform/chrome: don't report EC_MKBP_EVENT_SENSOR_FIFO as wakeup 2018-11-13 21:25:28 -08:00
cros_ec_spi.c platform/chrome: Move cros-ec transport drivers to drivers/platform. 2018-07-03 12:40:06 -07:00
cros_ec_sysfs.c platform/chrome: Use to_cros_ec_dev more broadly 2018-05-30 11:53:40 -07:00
cros_ec_vbc.c platform/chrome: Use to_cros_ec_dev more broadly 2018-05-30 11:53:40 -07:00
cros_kbd_led_backlight.c platform/chrome: Add Chrome OS keyboard backlight LEDs support 2016-05-11 11:55:47 -07:00