summaryrefslogtreecommitdiffstats
path: root/drivers/hid/hid-ids.h
diff options
context:
space:
mode:
authorKai-Heng Feng <kai.heng.feng@canonical.com>2024-01-15 12:50:51 +0800
committerJiri Kosina <jkosina@suse.com>2024-01-23 11:26:06 +0100
commit26dd6a5667f500c5d991f90a9ac5998a71afaf5c (patch)
tree2dbf6aae4e37f9f1d9410fe594cd5d63d9af2e20 /drivers/hid/hid-ids.h
parentb6eda11c44dc89a681e1c105f0f4660e69b1e183 (diff)
downloadlinux-26dd6a5667f500c5d991f90a9ac5998a71afaf5c.tar.gz
linux-26dd6a5667f500c5d991f90a9ac5998a71afaf5c.tar.bz2
linux-26dd6a5667f500c5d991f90a9ac5998a71afaf5c.zip
HID: i2c-hid: Skip SET_POWER SLEEP for Cirque touchpad on system suspend
There's a Cirque touchpad that wakes system up without anything touched the touchpad. The input report is empty when this happens. The reason is stated in HID over I2C spec, 7.2.8.2: "If the DEVICE wishes to wake the HOST from its low power state, it can issue a wake by asserting the interrupt." This is fine if OS can put system back to suspend by identifying input wakeup count stays the same on resume, like Chrome OS Dark Resume [0]. But for regular distro such policy is lacking. Though the change doesn't bring any impact on power consumption for touchpad is minimal, other i2c-hid device may depends on SLEEP control power. So use a quirk to limit the change scope. [0] https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/power_manager/docs/dark_resume.md Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> Reviewed-by: Douglas Anderson <dianders@chromium.org> Signed-off-by: Jiri Kosina <jkosina@suse.com>
Diffstat (limited to 'drivers/hid/hid-ids.h')
-rw-r--r--drivers/hid/hid-ids.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index fb30e228d35f..828a5c022c64 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -298,6 +298,9 @@
#define USB_VENDOR_ID_CIDC 0x1677
+#define I2C_VENDOR_ID_CIRQUE 0x0488
+#define I2C_PRODUCT_ID_CIRQUE_1063 0x1063
+
#define USB_VENDOR_ID_CJTOUCH 0x24b8
#define USB_DEVICE_ID_CJTOUCH_MULTI_TOUCH_0020 0x0020
#define USB_DEVICE_ID_CJTOUCH_MULTI_TOUCH_0040 0x0040