* [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 an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.