| From ad1871b16e10d073b8c0cfc7c0118ec29a1a6153 Mon Sep 17 00:00:00 2001 |
| From: Aaron Ma <aaron.ma@canonical.com> |
| Date: Thu, 14 Nov 2019 03:12:47 +0800 |
| Subject: [PATCH] HID: i2c-hid: fix no irq after reset on raydium 3118 |
| |
| commit 0c8432236dea20a95f68fa17989ea3f8af0186a5 upstream. |
| |
| On some ThinkPad L390 some raydium 3118 touchscreen devices |
| doesn't response any data after reset, but some does. |
| |
| Add this ID to no irq quirk, |
| then don't wait for any response alike on these touchscreens. |
| All kinds of raydium 3118 devices work fine. |
| |
| BugLink: https://bugs.launchpad.net/bugs/1849721 |
| |
| Signed-off-by: Aaron Ma <aaron.ma@canonical.com> |
| Signed-off-by: Jiri Kosina <jkosina@suse.cz> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h |
| index 367972ca8d2e..a8af282ef75c 100644 |
| --- a/drivers/hid/hid-ids.h |
| +++ b/drivers/hid/hid-ids.h |
| @@ -957,6 +957,7 @@ |
| |
| #define I2C_VENDOR_ID_RAYDIUM 0x2386 |
| #define I2C_PRODUCT_ID_RAYDIUM_4B33 0x4b33 |
| +#define I2C_PRODUCT_ID_RAYDIUM_3118 0x3118 |
| |
| #define USB_VENDOR_ID_RAZER 0x1532 |
| #define USB_DEVICE_ID_RAZER_BLADE_14 0x011D |
| diff --git a/drivers/hid/i2c-hid/i2c-hid-core.c b/drivers/hid/i2c-hid/i2c-hid-core.c |
| index 90164fed08d3..7df445a6da1f 100644 |
| --- a/drivers/hid/i2c-hid/i2c-hid-core.c |
| +++ b/drivers/hid/i2c-hid/i2c-hid-core.c |
| @@ -182,6 +182,8 @@ static const struct i2c_hid_quirks { |
| I2C_HID_QUIRK_NO_RUNTIME_PM }, |
| { I2C_VENDOR_ID_GOODIX, I2C_DEVICE_ID_GOODIX_01F0, |
| I2C_HID_QUIRK_NO_RUNTIME_PM }, |
| + { I2C_VENDOR_ID_RAYDIUM, I2C_PRODUCT_ID_RAYDIUM_3118, |
| + I2C_HID_QUIRK_NO_IRQ_AFTER_RESET }, |
| { USB_VENDOR_ID_ELAN, HID_ANY_ID, |
| I2C_HID_QUIRK_BOGUS_IRQ }, |
| { 0, 0 } |
| -- |
| 2.7.4 |
| |