Revert a3a3ed3
: "updating 4.19 patches to fix touch and suspend".
Calling intel_ipts_cleanup during suspend causes destroy_doorbell to
fail. Furthermore, removing intel_ipts_cleanup from suspend does not
seem to cause any issues on the Surface Book 1 and 2, and the
introduction of the device link in the previous commit may have fixed
some of the edge-cases/race conditions that may have made this call
necessary in the past. If any issue arises from this, we will deal with
it later in a more subtle way.
See https://github.com/jakeday/linux-surface/issues/544 for an
exhaustive discussion on this.
152 lines
7 KiB
Diff
152 lines
7 KiB
Diff
From 22b73627861a495e2eadc105b6f4c97d7eea5356 Mon Sep 17 00:00:00 2001
|
|
From: Maximilian Luz <luzmaximilian@gmail.com>
|
|
Date: Fri, 26 Jul 2019 04:45:42 +0200
|
|
Subject: [PATCH 06/12] hid
|
|
|
|
---
|
|
drivers/hid/hid-ids.h | 21 +++++++++----
|
|
drivers/hid/hid-microsoft.c | 3 +-
|
|
drivers/hid/hid-multitouch.c | 57 ++++++++++++++++++++++++++++++++++++
|
|
drivers/hid/hid-quirks.c | 11 +++++++
|
|
4 files changed, 86 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
|
|
index bfc584ada4eb..c54a2af1a266 100644
|
|
--- a/drivers/hid/hid-ids.h
|
|
+++ b/drivers/hid/hid-ids.h
|
|
@@ -821,11 +821,22 @@
|
|
#define USB_DEVICE_ID_MS_DIGITAL_MEDIA_3KV1 0x0732
|
|
#define USB_DEVICE_ID_MS_DIGITAL_MEDIA_600 0x0750
|
|
#define USB_DEVICE_ID_MS_COMFORT_MOUSE_4500 0x076c
|
|
-#define USB_DEVICE_ID_MS_COMFORT_KEYBOARD 0x00e3
|
|
-#define USB_DEVICE_ID_MS_SURFACE_PRO_2 0x0799
|
|
-#define USB_DEVICE_ID_MS_TOUCH_COVER_2 0x07a7
|
|
-#define USB_DEVICE_ID_MS_TYPE_COVER_2 0x07a9
|
|
-#define USB_DEVICE_ID_MS_POWER_COVER 0x07da
|
|
+#define USB_DEVICE_ID_MS_COMFORT_KEYBOARD 0x00e3
|
|
+#define USB_DEVICE_ID_MS_SURFACE_PRO_2 0x0799
|
|
+#define USB_DEVICE_ID_MS_TOUCH_COVER_2 0x07a7
|
|
+#define USB_DEVICE_ID_MS_TYPE_COVER_2 0x07a9
|
|
+#define USB_DEVICE_ID_MS_TYPE_COVER_3 0x07de
|
|
+#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_3 0x07dc
|
|
+#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_1 0x07de
|
|
+#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2 0x07e2
|
|
+#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP 0x07dd
|
|
+#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_4 0x07e8
|
|
+#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_1 0x07e4
|
|
+#define USB_DEVICE_ID_MS_SURFACE_BOOK 0x07cd
|
|
+#define USB_DEVICE_ID_MS_SURFACE_BOOK_2 0x0922
|
|
+#define USB_DEVICE_ID_MS_SURFACE_GO 0x096f
|
|
+#define USB_DEVICE_ID_MS_SURFACE_VHF 0xf001
|
|
+#define USB_DEVICE_ID_MS_POWER_COVER 0x07da
|
|
#define USB_DEVICE_ID_MS_XBOX_ONE_S_CONTROLLER 0x02fd
|
|
#define USB_DEVICE_ID_MS_PIXART_MOUSE 0x00cb
|
|
|
|
diff --git a/drivers/hid/hid-microsoft.c b/drivers/hid/hid-microsoft.c
|
|
index 8b3a922bdad3..0290a16881e5 100644
|
|
--- a/drivers/hid/hid-microsoft.c
|
|
+++ b/drivers/hid/hid-microsoft.c
|
|
@@ -438,7 +438,8 @@ static const struct hid_device_id ms_devices[] = {
|
|
.driver_data = MS_HIDINPUT },
|
|
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_COMFORT_KEYBOARD),
|
|
.driver_data = MS_ERGONOMY},
|
|
-
|
|
+ { HID_DEVICE(BUS_VIRTUAL, 0, USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_VHF),
|
|
+ .driver_data = MS_HIDINPUT},
|
|
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_PRESENTER_8K_BT),
|
|
.driver_data = MS_PRESENTER },
|
|
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_MICROSOFT, 0x091B),
|
|
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
|
|
index 03448d3a29f2..09ca4b1f2797 100644
|
|
--- a/drivers/hid/hid-multitouch.c
|
|
+++ b/drivers/hid/hid-multitouch.c
|
|
@@ -1983,6 +1983,63 @@ static const struct hid_device_id mt_devices[] = {
|
|
HID_USB_DEVICE(USB_VENDOR_ID_LG,
|
|
USB_DEVICE_ID_LG_MELFAS_MT) },
|
|
|
|
+ /* Microsoft Touch Cover */
|
|
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
|
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
|
|
+ USB_DEVICE_ID_MS_TOUCH_COVER_2) },
|
|
+
|
|
+ /* Microsoft Type Cover */
|
|
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
|
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
|
|
+ USB_DEVICE_ID_MS_TYPE_COVER_2) },
|
|
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
|
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
|
|
+ USB_DEVICE_ID_MS_TYPE_COVER_3) },
|
|
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
|
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
|
|
+ USB_DEVICE_ID_MS_TYPE_COVER_PRO_3) },
|
|
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
|
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
|
|
+ USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_1) },
|
|
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
|
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
|
|
+ USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2) },
|
|
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
|
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
|
|
+ USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP) },
|
|
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
|
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
|
|
+ USB_DEVICE_ID_MS_TYPE_COVER_PRO_4) },
|
|
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
|
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
|
|
+ USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_1) },
|
|
+
|
|
+ /* Microsoft Surface Book */
|
|
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
|
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
|
|
+ USB_DEVICE_ID_MS_SURFACE_BOOK) },
|
|
+
|
|
+ /* Microsoft Surface Book 2 */
|
|
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
|
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
|
|
+ USB_DEVICE_ID_MS_SURFACE_BOOK_2) },
|
|
+
|
|
+ /* Microsoft Surface Go */
|
|
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
|
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
|
|
+ USB_DEVICE_ID_MS_SURFACE_GO) },
|
|
+
|
|
+ /* Microsoft Surface Laptop */
|
|
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
|
+ HID_DEVICE(HID_BUS_ANY, HID_GROUP_ANY,
|
|
+ USB_VENDOR_ID_MICROSOFT,
|
|
+ USB_DEVICE_ID_MS_SURFACE_VHF) },
|
|
+
|
|
+ /* Microsoft Power Cover */
|
|
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
|
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
|
|
+ USB_DEVICE_ID_MS_POWER_COVER) },
|
|
+
|
|
/* MosArt panels */
|
|
{ .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE,
|
|
MT_USB_DEVICE(USB_VENDOR_ID_ASUS,
|
|
diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c
|
|
index 1549c7a2f04c..c17a3c8da927 100644
|
|
--- a/drivers/hid/hid-quirks.c
|
|
+++ b/drivers/hid/hid-quirks.c
|
|
@@ -111,6 +111,17 @@ static const struct hid_device_id hid_quirks[] = {
|
|
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_PRO_2), HID_QUIRK_NO_INIT_REPORTS },
|
|
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TOUCH_COVER_2), HID_QUIRK_NO_INIT_REPORTS },
|
|
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_2), HID_QUIRK_NO_INIT_REPORTS },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_3), HID_QUIRK_NO_INIT_REPORTS },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3), HID_QUIRK_NO_INIT_REPORTS },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_1), HID_QUIRK_NO_INIT_REPORTS },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2), HID_QUIRK_NO_INIT_REPORTS },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP), HID_QUIRK_NO_INIT_REPORTS },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4), HID_QUIRK_NO_INIT_REPORTS },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_1), HID_QUIRK_NO_INIT_REPORTS },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_BOOK), HID_QUIRK_NO_INIT_REPORTS },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_BOOK_2), HID_QUIRK_NO_INIT_REPORTS },
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_GO), HID_QUIRK_NO_INIT_REPORTS },
|
|
+ { HID_DEVICE(BUS_VIRTUAL, 0, USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_VHF), HID_QUIRK_ALWAYS_POLL },
|
|
{ HID_USB_DEVICE(USB_VENDOR_ID_MOJO, USB_DEVICE_ID_RETRO_ADAPTER), HID_QUIRK_MULTI_INPUT },
|
|
{ HID_USB_DEVICE(USB_VENDOR_ID_MSI, USB_DEVICE_ID_MSI_GT683R_LED_PANEL), HID_QUIRK_NO_INIT_REPORTS },
|
|
{ HID_USB_DEVICE(USB_VENDOR_ID_MULTIPLE_1781, USB_DEVICE_ID_RAPHNET_4NES4SNES_OLD), HID_QUIRK_MULTI_INPUT },
|
|
--
|
|
2.23.0
|
|
|