From ac98cc4406aeb7cab9a3b5af54720f28d82fe80b Mon Sep 17 00:00:00 2001 From: Jake Day Date: Sun, 4 Mar 2018 19:50:51 -0500 Subject: [PATCH] updating patches for keyboards --- patches-4.14/keyboards_and_covers.patch | 56 +++++-------------------- patches-4.15/keyboards_and_covers.patch | 56 +++++-------------------- 2 files changed, 22 insertions(+), 90 deletions(-) diff --git a/patches-4.14/keyboards_and_covers.patch b/patches-4.14/keyboards_and_covers.patch index e74df4b24..62c672541 100644 --- a/patches-4.14/keyboards_and_covers.patch +++ b/patches-4.14/keyboards_and_covers.patch @@ -1,36 +1,8 @@ -From d13e067cecbdb0bebe7bf5f1afcb9a563891e973 Mon Sep 17 00:00:00 2001 -From: Jake Day -Date: Thu, 1 Feb 2018 19:24:33 -0500 -Subject: support for surface keyboards and covers - - -diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c -index 330ca98..fd75182 100644 ---- a/drivers/hid/hid-core.c -+++ b/drivers/hid/hid-core.c -@@ -723,7 +723,8 @@ static void hid_scan_collection(struct hid_parser *parser, unsigned type) - hid->group = HID_GROUP_SENSOR_HUB; - - if (hid->vendor == USB_VENDOR_ID_MICROSOFT && -- hid->product == USB_DEVICE_ID_MS_POWER_COVER && -+ (hid->product == USB_DEVICE_ID_MS_SURFACE_LAPTOP || -+ hid->product == USB_DEVICE_ID_MS_POWER_COVER) && - hid->group == HID_GROUP_MULTITOUCH) - hid->group = HID_GROUP_GENERIC; - -@@ -2179,6 +2180,7 @@ static const struct hid_device_id hid_have_special_driver[] = { - { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_7K) }, - { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_600) }, - { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_3KV1) }, -+ { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_LAPTOP) }, - { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_POWER_COVER) }, - { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_PRESENTER_8K_BT) }, - #endif diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h -index be2e005..ebb9688 100644 +index ff539c0..d8cc7b2 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h -@@ -757,11 +757,21 @@ +@@ -760,11 +760,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 @@ -53,28 +25,16 @@ index be2e005..ebb9688 100644 +#define USB_DEVICE_ID_MS_SURFACE_BOOK 0x07cd +#define USB_DEVICE_ID_MS_SURFACE_BOOK_2 0x0922 +#define USB_DEVICE_ID_MS_SURFACE_LAPTOP 0xf001 ++#define HID_DEVICE_ID_MS_SURFACE_LAPTOP 0x0064 +#define USB_DEVICE_ID_MS_POWER_COVER 0x07da #define USB_VENDOR_ID_MOJO 0x8282 #define USB_DEVICE_ID_RETRO_ADAPTER 0x3201 -diff --git a/drivers/hid/hid-microsoft.c b/drivers/hid/hid-microsoft.c -index 96e7d32..9127164 100644 ---- a/drivers/hid/hid-microsoft.c -+++ b/drivers/hid/hid-microsoft.c -@@ -274,6 +274,8 @@ static const struct hid_device_id ms_devices[] = { - .driver_data = MS_NOGET }, - { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_COMFORT_MOUSE_4500), - .driver_data = MS_DUPLICATE_USAGES }, -+ { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_LAPTOP), -+ .driver_data = MS_HIDINPUT }, - { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_POWER_COVER), - .driver_data = MS_HIDINPUT }, - { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_COMFORT_KEYBOARD), diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c -index 97c7c99..4a837b6 100644 +index 9e8c4d2..bd1b82e 100644 --- a/drivers/hid/hid-multitouch.c +++ b/drivers/hid/hid-multitouch.c -@@ -1611,6 +1611,52 @@ static const struct hid_device_id mt_devices[] = { +@@ -1594,6 +1594,58 @@ static const struct hid_device_id mt_devices[] = { HID_USB_DEVICE(USB_VENDOR_ID_LG, USB_DEVICE_ID_LG_MELFAS_MT) }, @@ -119,6 +79,12 @@ index 97c7c99..4a837b6 100644 + MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, + USB_DEVICE_ID_MS_SURFACE_BOOK_2) }, + ++ /* Microsoft Surface Laptop */ ++ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, ++ HID_DEVICE(BUS_I2C, HID_GROUP_ANY, ++ USB_DEVICE_ID_MS_SURFACE_LAPTOP, ++ HID_DEVICE_ID_MS_SURFACE_LAPTOP) }, ++ + /* Microsoft Power Cover */ + { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, + MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, diff --git a/patches-4.15/keyboards_and_covers.patch b/patches-4.15/keyboards_and_covers.patch index 7a7f49e7e..9a41d2643 100644 --- a/patches-4.15/keyboards_and_covers.patch +++ b/patches-4.15/keyboards_and_covers.patch @@ -1,36 +1,8 @@ -From 0c1ec9426772daa2d4cedc2eae807419eba9abfb Mon Sep 17 00:00:00 2001 -From: Jake Day -Date: Fri, 2 Feb 2018 11:23:08 -0500 -Subject: support for surface keyboards and covers - - -diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c -index 0c3f608..b0e22c0 100644 ---- a/drivers/hid/hid-core.c -+++ b/drivers/hid/hid-core.c -@@ -723,7 +723,8 @@ static void hid_scan_collection(struct hid_parser *parser, unsigned type) - hid->group = HID_GROUP_SENSOR_HUB; - - if (hid->vendor == USB_VENDOR_ID_MICROSOFT && -- hid->product == USB_DEVICE_ID_MS_POWER_COVER && -+ (hid->product == USB_DEVICE_ID_MS_SURFACE_LAPTOP || -+ hid->product == USB_DEVICE_ID_MS_POWER_COVER) && - hid->group == HID_GROUP_MULTITOUCH) - hid->group = HID_GROUP_GENERIC; - -@@ -2183,6 +2184,7 @@ static const struct hid_device_id hid_have_special_driver[] = { - { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_7K) }, - { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_600) }, - { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_3KV1) }, -+ { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_LAPTOP) }, - { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_POWER_COVER) }, - { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_PRESENTER_8K_BT) }, - #endif diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h -index 5da3d62..1295dcb 100644 +index a0baa5b..3e03ced8 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h -@@ -767,11 +767,21 @@ +@@ -770,11 +770,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 @@ -53,28 +25,16 @@ index 5da3d62..1295dcb 100644 +#define USB_DEVICE_ID_MS_SURFACE_BOOK 0x07cd +#define USB_DEVICE_ID_MS_SURFACE_BOOK_2 0x0922 +#define USB_DEVICE_ID_MS_SURFACE_LAPTOP 0xf001 ++#define HID_DEVICE_ID_MS_SURFACE_LAPTOP 0x0064 +#define USB_DEVICE_ID_MS_POWER_COVER 0x07da #define USB_VENDOR_ID_MOJO 0x8282 #define USB_DEVICE_ID_RETRO_ADAPTER 0x3201 -diff --git a/drivers/hid/hid-microsoft.c b/drivers/hid/hid-microsoft.c -index 96e7d32..9127164 100644 ---- a/drivers/hid/hid-microsoft.c -+++ b/drivers/hid/hid-microsoft.c -@@ -274,6 +274,8 @@ static const struct hid_device_id ms_devices[] = { - .driver_data = MS_NOGET }, - { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_COMFORT_MOUSE_4500), - .driver_data = MS_DUPLICATE_USAGES }, -+ { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_LAPTOP), -+ .driver_data = MS_HIDINPUT }, - { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_POWER_COVER), - .driver_data = MS_HIDINPUT }, - { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_COMFORT_KEYBOARD), diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c -index 65ea23b..dd416e9 100644 +index 65ea23b..00ce3be 100644 --- a/drivers/hid/hid-multitouch.c +++ b/drivers/hid/hid-multitouch.c -@@ -1638,6 +1638,52 @@ static const struct hid_device_id mt_devices[] = { +@@ -1638,6 +1638,58 @@ static const struct hid_device_id mt_devices[] = { HID_USB_DEVICE(USB_VENDOR_ID_LG, USB_DEVICE_ID_LG_MELFAS_MT) }, @@ -119,6 +79,12 @@ index 65ea23b..dd416e9 100644 + MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, + USB_DEVICE_ID_MS_SURFACE_BOOK_2) }, + ++ /* Microsoft Surface Laptop */ ++ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, ++ HID_DEVICE(BUS_I2C, HID_GROUP_ANY, ++ USB_DEVICE_ID_MS_SURFACE_LAPTOP, ++ HID_DEVICE_ID_MS_SURFACE_LAPTOP) }, ++ + /* Microsoft Power Cover */ + { .driver_data = MT_CLS_EXPORT_ALL_INPUTS, + MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,