diff mbox series

HID: i2c-hid: Disable runtime PM on Synaptics touchpad

Message ID 20190329061323.9597-1-hui.wang@canonical.com (mailing list archive)
State Mainlined
Commit 74e7c6c877f620d65a8269692d089bbd066f626c
Delegated to: Jiri Kosina
Headers show
Series HID: i2c-hid: Disable runtime PM on Synaptics touchpad | expand

Commit Message

Hui Wang March 29, 2019, 6:13 a.m. UTC
We have a new Dell laptop which has the synaptics I2C touchpad
(06cb:7e7e) on it. After booting up the Linux, the touchpad doesn't
work, there is no interrupt when touching the touchpad, after
disable the runtime PM, everything works well.

I also tried the quirk of I2C_HID_QUIRK_DELAY_AFTER_SLEEP, it is
better after applied this quirk, there are interrupts but data it
reports is invalid.

Signed-off-by: Hui Wang <hui.wang@canonical.com>
---
 drivers/hid/hid-ids.h              | 1 +
 drivers/hid/i2c-hid/i2c-hid-core.c | 2 ++
 2 files changed, 3 insertions(+)

Comments

Jiri Kosina April 1, 2019, 1:58 p.m. UTC | #1
On Fri, 29 Mar 2019, Hui Wang wrote:

> We have a new Dell laptop which has the synaptics I2C touchpad
> (06cb:7e7e) on it. After booting up the Linux, the touchpad doesn't
> work, there is no interrupt when touching the touchpad, after
> disable the runtime PM, everything works well.
> 
> I also tried the quirk of I2C_HID_QUIRK_DELAY_AFTER_SLEEP, it is
> better after applied this quirk, there are interrupts but data it
> reports is invalid.

Applied, thanks.
diff mbox series

Patch

diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index b6d93f4ad037..adce58f24f76 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -1083,6 +1083,7 @@ 
 #define USB_DEVICE_ID_SYNAPTICS_HD	0x0ac3
 #define USB_DEVICE_ID_SYNAPTICS_QUAD_HD	0x1ac3
 #define USB_DEVICE_ID_SYNAPTICS_TP_V103	0x5710
+#define I2C_DEVICE_ID_SYNAPTICS_7E7E	0x7e7e
 
 #define USB_VENDOR_ID_TEXAS_INSTRUMENTS	0x2047
 #define USB_DEVICE_ID_TEXAS_INSTRUMENTS_LENOVO_YOGA	0x0855
diff --git a/drivers/hid/i2c-hid/i2c-hid-core.c b/drivers/hid/i2c-hid/i2c-hid-core.c
index 90164fed08d3..4d1f24ee249c 100644
--- a/drivers/hid/i2c-hid/i2c-hid-core.c
+++ b/drivers/hid/i2c-hid/i2c-hid-core.c
@@ -184,6 +184,8 @@  static const struct i2c_hid_quirks {
 		I2C_HID_QUIRK_NO_RUNTIME_PM },
 	{ USB_VENDOR_ID_ELAN, HID_ANY_ID,
 		 I2C_HID_QUIRK_BOGUS_IRQ },
+	{ USB_VENDOR_ID_SYNAPTICS, I2C_DEVICE_ID_SYNAPTICS_7E7E,
+		I2C_HID_QUIRK_NO_RUNTIME_PM },
 	{ 0, 0 }
 };