* [Patch v2] Surface Pro 2 USB composite device handling @ 2014-03-09 17:51 Derya 2014-03-09 17:53 ` [PATCH 1/2] Revert "HID: microsoft: Add ID's for Surface Type/Touch, Cover 2" Derya 2014-03-09 17:56 ` [PATCH 2/2] Surface Pro 2 USB composite device handling Derya 0 siblings, 2 replies; 7+ messages in thread From: Derya @ 2014-03-09 17:51 UTC (permalink / raw) To: linux-input, Benjamin Tissoires, Jiri Kosina This patch set is a reworked version of the one, that I submitted on Friday. Followed the Benjamin's suggestions (many thanks) - The first patch reverses commit 117309c51dca42121f70cacec801511b76acf75c - The second readds the product ids and ensures the load of hid-core instead of hid-multiouch ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] Revert "HID: microsoft: Add ID's for Surface Type/Touch, Cover 2" 2014-03-09 17:51 [Patch v2] Surface Pro 2 USB composite device handling Derya @ 2014-03-09 17:53 ` Derya 2014-03-10 20:22 ` Benjamin Tissoires 2014-03-09 17:56 ` [PATCH 2/2] Surface Pro 2 USB composite device handling Derya 1 sibling, 1 reply; 7+ messages in thread From: Derya @ 2014-03-09 17:53 UTC (permalink / raw) To: linux-input, Benjamin Tissoires, Jiri Kosina This reverts commit 117309c51dca42121f70cacec801511b76acf75c. The MS Surface Pro 2 has an USB composite device with 3 interfaces - interface 0 - sensor hub - interface 1 - wacom digitizer - interface 2 - the keyboard cover, if one is attached This USB composite device changes it product id dependent on if and which keyboard cover is attached. Adding the covers to hid_have_special_driver prevents loading the right hid drivers for the other two interfaces, all 3 get loaded with hid-microsoft. We don't even need hid-microsoft for the keyboards. We have to revert this to load the right hid modules for each interface. Signed-off-by: Derya <derya.kiran@yahoo.de> --- drivers/hid/hid-core.c | 2 -- drivers/hid/hid-ids.h | 2 -- drivers/hid/hid-microsoft.c | 4 ---- 3 files changed, 8 deletions(-) diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c index cc32a6f..bb5c494 100644 --- a/drivers/hid/hid-core.c +++ b/drivers/hid/hid-core.c @@ -1780,8 +1780,6 @@ static const struct hid_device_id hid_have_special_driver[] = { { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_PRESENTER_8K_USB) }, { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_3K) }, { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_WIRELESS_OPTICAL_DESKTOP_3_0) }, - { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_2) }, - { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TOUCH_COVER_2) }, { HID_USB_DEVICE(USB_VENDOR_ID_MONTEREY, USB_DEVICE_ID_GENIUS_KB29E) }, { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN) }, { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_1) }, diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index 22f28d6..07cd28c 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -624,8 +624,6 @@ #define USB_DEVICE_ID_MS_PRESENTER_8K_USB 0x0713 #define USB_DEVICE_ID_MS_DIGITAL_MEDIA_3K 0x0730 #define USB_DEVICE_ID_MS_COMFORT_MOUSE_4500 0x076c -#define USB_DEVICE_ID_MS_TOUCH_COVER_2 0x07a7 -#define USB_DEVICE_ID_MS_TYPE_COVER_2 0x07a9 #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 404a3a8..c6ef6ee 100644 --- a/drivers/hid/hid-microsoft.c +++ b/drivers/hid/hid-microsoft.c @@ -208,10 +208,6 @@ 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_TYPE_COVER_2), - .driver_data = 0 }, - { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TOUCH_COVER_2), - .driver_data = 0 }, { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_PRESENTER_8K_BT), .driver_data = MS_PRESENTER }, -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] Revert "HID: microsoft: Add ID's for Surface Type/Touch, Cover 2" 2014-03-09 17:53 ` [PATCH 1/2] Revert "HID: microsoft: Add ID's for Surface Type/Touch, Cover 2" Derya @ 2014-03-10 20:22 ` Benjamin Tissoires 2014-03-11 15:54 ` Jiri Kosina 0 siblings, 1 reply; 7+ messages in thread From: Benjamin Tissoires @ 2014-03-10 20:22 UTC (permalink / raw) To: Derya; +Cc: linux-input, Jiri Kosina On Mar 09 2014 or thereabouts, Derya wrote: > This reverts commit 117309c51dca42121f70cacec801511b76acf75c. > > The MS Surface Pro 2 has an USB composite device with 3 interfaces > - interface 0 - sensor hub > - interface 1 - wacom digitizer > - interface 2 - the keyboard cover, if one is attached > This USB composite device changes it product id dependent on if and which > keyboard cover is attached. Adding the covers to hid_have_special_driver > prevents loading the right hid drivers for the other two interfaces, all 3 > get loaded with hid-microsoft. We don't even need hid-microsoft for the > keyboards. We have to revert this to load the right hid modules for each > interface. > > Signed-off-by: Derya <derya.kiran@yahoo.de> Acked-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Hoewever, Derya, you should reconsider re-sending the whole series through "git send-email" or configuring your e-mail client according to Documentation/email-clients.txt . This series has the lines wrapped and tabs are converted to spaces, which means that Jiri ca not take the patch without reformatting them to his tree. Thanks, Benjamin > --- > drivers/hid/hid-core.c | 2 -- > drivers/hid/hid-ids.h | 2 -- > drivers/hid/hid-microsoft.c | 4 ---- > 3 files changed, 8 deletions(-) > > diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c > index cc32a6f..bb5c494 100644 > --- a/drivers/hid/hid-core.c > +++ b/drivers/hid/hid-core.c > @@ -1780,8 +1780,6 @@ static const struct hid_device_id > hid_have_special_driver[] = { > { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, > USB_DEVICE_ID_MS_PRESENTER_8K_USB) }, > { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, > USB_DEVICE_ID_MS_DIGITAL_MEDIA_3K) }, > { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, > USB_DEVICE_ID_WIRELESS_OPTICAL_DESKTOP_3_0) }, > - { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, > USB_DEVICE_ID_MS_TYPE_COVER_2) }, > - { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, > USB_DEVICE_ID_MS_TOUCH_COVER_2) }, > { HID_USB_DEVICE(USB_VENDOR_ID_MONTEREY, USB_DEVICE_ID_GENIUS_KB29E) }, > { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN) > }, > { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, > USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_1) }, > diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h > index 22f28d6..07cd28c 100644 > --- a/drivers/hid/hid-ids.h > +++ b/drivers/hid/hid-ids.h > @@ -624,8 +624,6 @@ > #define USB_DEVICE_ID_MS_PRESENTER_8K_USB 0x0713 > #define USB_DEVICE_ID_MS_DIGITAL_MEDIA_3K 0x0730 > #define USB_DEVICE_ID_MS_COMFORT_MOUSE_4500 0x076c > -#define USB_DEVICE_ID_MS_TOUCH_COVER_2 0x07a7 > -#define USB_DEVICE_ID_MS_TYPE_COVER_2 0x07a9 > > #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 404a3a8..c6ef6ee 100644 > --- a/drivers/hid/hid-microsoft.c > +++ b/drivers/hid/hid-microsoft.c > @@ -208,10 +208,6 @@ 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_TYPE_COVER_2), > - .driver_data = 0 }, > - { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, > USB_DEVICE_ID_MS_TOUCH_COVER_2), > - .driver_data = 0 }, > > { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_MICROSOFT, > USB_DEVICE_ID_MS_PRESENTER_8K_BT), > .driver_data = MS_PRESENTER }, > -- > 1.8.3.2 > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] Revert "HID: microsoft: Add ID's for Surface Type/Touch, Cover 2" 2014-03-10 20:22 ` Benjamin Tissoires @ 2014-03-11 15:54 ` Jiri Kosina 0 siblings, 0 replies; 7+ messages in thread From: Jiri Kosina @ 2014-03-11 15:54 UTC (permalink / raw) To: Benjamin Tissoires; +Cc: Derya, linux-input On Mon, 10 Mar 2014, Benjamin Tissoires wrote: > > The MS Surface Pro 2 has an USB composite device with 3 interfaces > > - interface 0 - sensor hub > > - interface 1 - wacom digitizer > > - interface 2 - the keyboard cover, if one is attached > > This USB composite device changes it product id dependent on if and which > > keyboard cover is attached. Adding the covers to hid_have_special_driver > > prevents loading the right hid drivers for the other two interfaces, all 3 > > get loaded with hid-microsoft. We don't even need hid-microsoft for the > > keyboards. We have to revert this to load the right hid modules for each > > interface. > > > > Signed-off-by: Derya <derya.kiran@yahoo.de> > > Acked-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> > > Hoewever, Derya, you should reconsider re-sending the whole series > through "git send-email" or configuring your e-mail client according to > Documentation/email-clients.txt . This series has the lines wrapped and > tabs are converted to spaces, which means that Jiri ca not take the > patch without reformatting them to his tree. Indeed, the patches have been mangled by your mail client beyond repair. Could you please resend them (and include Benjamin's Ack), so that I can queue them? Thanks! -- Jiri Kosina SUSE Labs ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/2] Surface Pro 2 USB composite device handling 2014-03-09 17:51 [Patch v2] Surface Pro 2 USB composite device handling Derya 2014-03-09 17:53 ` [PATCH 1/2] Revert "HID: microsoft: Add ID's for Surface Type/Touch, Cover 2" Derya @ 2014-03-09 17:56 ` Derya 2014-03-10 20:23 ` Benjamin Tissoires 1 sibling, 1 reply; 7+ messages in thread From: Derya @ 2014-03-09 17:56 UTC (permalink / raw) To: linux-input, Benjamin Tissoires, Jiri Kosina Surface Pro 2 USB composite device handling (device changes it product id with attached keyboard cover) - Adds MS Surface Pro 2's composite device ids, with and without attached keyboard, to the hid-ids - Ensures to load hid-core instead of hid-multitouch for the keyboard covers - Adds HID_QUIRK_NO_INIT_INPUT_REPORTS to prevent USB submit urb failure during keyboard cover (de)attaching Signed-off-by: Derya <derya.kiran@yahoo.de> --- drivers/hid/hid-core.c | 9 +++++++++ drivers/hid/hid-ids.h | 3 +++ drivers/hid/usbhid/hid-quirks.c | 3 +++ 3 files changed, 15 insertions(+) diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c index bb5c494..f4e4820 100644 --- a/drivers/hid/hid-core.c +++ b/drivers/hid/hid-core.c @@ -775,6 +775,15 @@ static int hid_scan_report(struct hid_device *hid) if ((parser->scan_flags & HID_SCAN_FLAG_MT_WIN_8) && (hid->group == HID_GROUP_MULTITOUCH)) hid->group = HID_GROUP_MULTITOUCH_WIN_8; + + /* + * Handle vendor specific handlings + */ + if ((hid->vendor == USB_VENDOR_ID_MICROSOFT) && + (hid->product == USB_DEVICE_ID_MS_TYPE_COVER_2 || + hid->product == USB_DEVICE_ID_MS_TOUCH_COVER_2) && + (hid->group == HID_GROUP_MULTITOUCH)) + hid->group = HID_GROUP_GENERIC; vfree(parser); return 0; diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index 07cd28c..f61c0d8 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -624,6 +624,9 @@ #define USB_DEVICE_ID_MS_PRESENTER_8K_USB 0x0713 #define USB_DEVICE_ID_MS_DIGITAL_MEDIA_3K 0x0730 #define USB_DEVICE_ID_MS_COMFORT_MOUSE_4500 0x076c +#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_VENDOR_ID_MOJO 0x8282 #define USB_DEVICE_ID_RETRO_ADAPTER 0x3201 diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c index dbd8387..7c4f86e 100644 --- a/drivers/hid/usbhid/hid-quirks.c +++ b/drivers/hid/usbhid/hid-quirks.c @@ -73,6 +73,9 @@ static const struct hid_blacklist { { USB_VENDOR_ID_FORMOSA, USB_DEVICE_ID_FORMOSA_IR_RECEIVER, HID_QUIRK_NO_INIT_REPORTS }, { USB_VENDOR_ID_FREESCALE, USB_DEVICE_ID_FREESCALE_MX28, HID_QUIRK_NOGET }, { USB_VENDOR_ID_MGE, USB_DEVICE_ID_MGE_UPS, HID_QUIRK_NOGET }, + { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_PRO_2, HID_QUIRK_NO_INIT_INPUT_REPORTS }, + { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_2, HID_QUIRK_NO_INIT_INPUT_REPORTS }, + { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TOUCH_COVER_2, HID_QUIRK_NO_INIT_INPUT_REPORTS }, { USB_VENDOR_ID_MSI, USB_DEVICE_ID_MSI_GX680R_LED_PANEL, HID_QUIRK_NO_INIT_REPORTS }, { USB_VENDOR_ID_NEXIO, USB_DEVICE_ID_NEXIO_MULTITOUCH_PTI0750, HID_QUIRK_NO_INIT_REPORTS }, { USB_VENDOR_ID_NOVATEK, USB_DEVICE_ID_NOVATEK_MOUSE, HID_QUIRK_NO_INIT_REPORTS }, -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] Surface Pro 2 USB composite device handling 2014-03-09 17:56 ` [PATCH 2/2] Surface Pro 2 USB composite device handling Derya @ 2014-03-10 20:23 ` Benjamin Tissoires 0 siblings, 0 replies; 7+ messages in thread From: Benjamin Tissoires @ 2014-03-10 20:23 UTC (permalink / raw) To: Derya; +Cc: linux-input, Jiri Kosina On Mar 09 2014 or thereabouts, Derya wrote: > Surface Pro 2 USB composite device handling > > (device changes it product id with attached keyboard cover) > - Adds MS Surface Pro 2's composite device ids, with and without attached > keyboard, to the hid-ids > - Ensures to load hid-core instead of hid-multitouch for the keyboard covers > - Adds HID_QUIRK_NO_INIT_INPUT_REPORTS to prevent USB submit urb failure > during keyboard cover (de)attaching > > Signed-off-by: Derya <derya.kiran@yahoo.de> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Cheers, Benjamin > --- > drivers/hid/hid-core.c | 9 +++++++++ > drivers/hid/hid-ids.h | 3 +++ > drivers/hid/usbhid/hid-quirks.c | 3 +++ > 3 files changed, 15 insertions(+) > > diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c > index bb5c494..f4e4820 100644 > --- a/drivers/hid/hid-core.c > +++ b/drivers/hid/hid-core.c > @@ -775,6 +775,15 @@ static int hid_scan_report(struct hid_device *hid) > if ((parser->scan_flags & HID_SCAN_FLAG_MT_WIN_8) && > (hid->group == HID_GROUP_MULTITOUCH)) > hid->group = HID_GROUP_MULTITOUCH_WIN_8; > + > + /* > + * Handle vendor specific handlings > + */ > + if ((hid->vendor == USB_VENDOR_ID_MICROSOFT) && > + (hid->product == USB_DEVICE_ID_MS_TYPE_COVER_2 || > + hid->product == USB_DEVICE_ID_MS_TOUCH_COVER_2) && > + (hid->group == HID_GROUP_MULTITOUCH)) > + hid->group = HID_GROUP_GENERIC; > > vfree(parser); > return 0; > diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h > index 07cd28c..f61c0d8 100644 > --- a/drivers/hid/hid-ids.h > +++ b/drivers/hid/hid-ids.h > @@ -624,6 +624,9 @@ > #define USB_DEVICE_ID_MS_PRESENTER_8K_USB 0x0713 > #define USB_DEVICE_ID_MS_DIGITAL_MEDIA_3K 0x0730 > #define USB_DEVICE_ID_MS_COMFORT_MOUSE_4500 0x076c > +#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_VENDOR_ID_MOJO 0x8282 > #define USB_DEVICE_ID_RETRO_ADAPTER 0x3201 > diff --git a/drivers/hid/usbhid/hid-quirks.c > b/drivers/hid/usbhid/hid-quirks.c > index dbd8387..7c4f86e 100644 > --- a/drivers/hid/usbhid/hid-quirks.c > +++ b/drivers/hid/usbhid/hid-quirks.c > @@ -73,6 +73,9 @@ static const struct hid_blacklist { > { USB_VENDOR_ID_FORMOSA, USB_DEVICE_ID_FORMOSA_IR_RECEIVER, > HID_QUIRK_NO_INIT_REPORTS }, > { USB_VENDOR_ID_FREESCALE, USB_DEVICE_ID_FREESCALE_MX28, > HID_QUIRK_NOGET }, > { USB_VENDOR_ID_MGE, USB_DEVICE_ID_MGE_UPS, HID_QUIRK_NOGET }, > + { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_PRO_2, > HID_QUIRK_NO_INIT_INPUT_REPORTS }, > + { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_2, > HID_QUIRK_NO_INIT_INPUT_REPORTS }, > + { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TOUCH_COVER_2, > HID_QUIRK_NO_INIT_INPUT_REPORTS }, > { USB_VENDOR_ID_MSI, USB_DEVICE_ID_MSI_GX680R_LED_PANEL, > HID_QUIRK_NO_INIT_REPORTS }, > { USB_VENDOR_ID_NEXIO, USB_DEVICE_ID_NEXIO_MULTITOUCH_PTI0750, > HID_QUIRK_NO_INIT_REPORTS }, > { USB_VENDOR_ID_NOVATEK, USB_DEVICE_ID_NOVATEK_MOUSE, > HID_QUIRK_NO_INIT_REPORTS }, > -- > 1.8.3.2 > ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 0/2] Microsoft Surface Type/Touch Cover 2 fixes @ 2014-03-31 17:27 Benjamin Tissoires 2014-03-31 17:27 ` [PATCH 1/2] Revert "HID: microsoft: Add ID's for Surface Type/Touch Cover 2" Benjamin Tissoires 0 siblings, 1 reply; 7+ messages in thread From: Benjamin Tissoires @ 2014-03-31 17:27 UTC (permalink / raw) To: Reyad Attiyat, Derya, Jiri Kosina, linux-input, linux-kernel Hi Jiri, well, this is a series which should fix the current state of the Surface 2 touch cover. The first one has been reported by Derya and the second one fixes the problem for this device and the future ones. I added the CC: stable tags, but if you prefer not having them, feel free to do so. One last thing: the patches are on top of v3.14, because your for-next branch does not contain the reverted commit for now. It will hopefully be ok once you rebased your tree before sending it to Linus. Patch 2/2 should apply on any kernel >3.12, so your for-next branch should be fine with this one. Cheers, Benjamin Benjamin Tissoires (2): Revert "HID: microsoft: Add ID's for Surface Type/Touch Cover 2" HID: core: do not scan constant input report drivers/hid/hid-core.c | 5 +++-- drivers/hid/hid-ids.h | 2 -- drivers/hid/hid-microsoft.c | 4 ---- 3 files changed, 3 insertions(+), 8 deletions(-) -- 1.9.0 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] Revert "HID: microsoft: Add ID's for Surface Type/Touch Cover 2" 2014-03-31 17:27 [PATCH 0/2] Microsoft Surface Type/Touch Cover 2 fixes Benjamin Tissoires @ 2014-03-31 17:27 ` Benjamin Tissoires 0 siblings, 0 replies; 7+ messages in thread From: Benjamin Tissoires @ 2014-03-31 17:27 UTC (permalink / raw) To: Reyad Attiyat, Derya, Jiri Kosina, linux-input, linux-kernel From: Derya <derya.kiran@yahoo.de> This reverts commit 117309c51dca42121f70cacec801511b76acf75c. The MS Surface Pro 2 has an USB composite device with 3 interfaces - interface 0 - sensor hub - interface 1 - wacom digitizer - interface 2 - the keyboard cover, if one is attached This USB composite device changes it product id dependent on if and which keyboard cover is attached. Adding the covers to hid_have_special_driver prevents loading the right hid drivers for the other two interfaces, all 3 get loaded with hid-microsoft. We don't even need hid-microsoft for the keyboards. We have to revert this to load the right hid modules for each interface. CC: stable@vger.kernel.org # kernel 3.14 only Signed-off-by: Derya <derya.kiran@yahoo.de> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> --- drivers/hid/hid-core.c | 2 -- drivers/hid/hid-ids.h | 2 -- drivers/hid/hid-microsoft.c | 4 ---- 3 files changed, 8 deletions(-) diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c index cc32a6f..bb5c494 100644 --- a/drivers/hid/hid-core.c +++ b/drivers/hid/hid-core.c @@ -1780,8 +1780,6 @@ static const struct hid_device_id hid_have_special_driver[] = { { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_PRESENTER_8K_USB) }, { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_3K) }, { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_WIRELESS_OPTICAL_DESKTOP_3_0) }, - { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_2) }, - { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TOUCH_COVER_2) }, { HID_USB_DEVICE(USB_VENDOR_ID_MONTEREY, USB_DEVICE_ID_GENIUS_KB29E) }, { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN) }, { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_1) }, diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index 22f28d6..07cd28c 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -624,8 +624,6 @@ #define USB_DEVICE_ID_MS_PRESENTER_8K_USB 0x0713 #define USB_DEVICE_ID_MS_DIGITAL_MEDIA_3K 0x0730 #define USB_DEVICE_ID_MS_COMFORT_MOUSE_4500 0x076c -#define USB_DEVICE_ID_MS_TOUCH_COVER_2 0x07a7 -#define USB_DEVICE_ID_MS_TYPE_COVER_2 0x07a9 #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 404a3a8..c6ef6ee 100644 --- a/drivers/hid/hid-microsoft.c +++ b/drivers/hid/hid-microsoft.c @@ -208,10 +208,6 @@ 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_TYPE_COVER_2), - .driver_data = 0 }, - { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TOUCH_COVER_2), - .driver_data = 0 }, { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_PRESENTER_8K_BT), .driver_data = MS_PRESENTER }, -- 1.9.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2014-03-31 17:27 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-03-09 17:51 [Patch v2] Surface Pro 2 USB composite device handling Derya 2014-03-09 17:53 ` [PATCH 1/2] Revert "HID: microsoft: Add ID's for Surface Type/Touch, Cover 2" Derya 2014-03-10 20:22 ` Benjamin Tissoires 2014-03-11 15:54 ` Jiri Kosina 2014-03-09 17:56 ` [PATCH 2/2] Surface Pro 2 USB composite device handling Derya 2014-03-10 20:23 ` Benjamin Tissoires -- strict thread matches above, loose matches on Subject: below -- 2014-03-31 17:27 [PATCH 0/2] Microsoft Surface Type/Touch Cover 2 fixes Benjamin Tissoires 2014-03-31 17:27 ` [PATCH 1/2] Revert "HID: microsoft: Add ID's for Surface Type/Touch Cover 2" Benjamin Tissoires
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).