* [PATCH] USB: quirks: Fix another ELAN touchscreen @ 2015-11-22 4:06 ` Adrien Vergé 0 siblings, 0 replies; 32+ messages in thread From: Adrien Vergé @ 2015-11-22 4:06 UTC (permalink / raw) To: Jiri Kosina Cc: Greg Kroah-Hartman, Macpaul Lin, Vincent Palatin, Logan Gunthorpe, Hans de Goede, Adrien Vergé, Yao-Wen Mao, linux-input, linux-kernel, linux-usb Like other buggy models that had their fixes [1], the touchscreen with id 04f3:21b8 from ELAN Microelectronics needs the device-qualifier quirk. Otherwise, it fails to respond, blocks the boot for a random amount of time and pollutes dmesg with: [ 2887.373196] usb 1-5: new full-speed USB device number 41 using xhci_hcd [ 2889.502000] usb 1-5: unable to read config index 0 descriptor/start: -71 [ 2889.502005] usb 1-5: can't read configurations, error -71 [ 2889.654571] usb 1-5: new full-speed USB device number 42 using xhci_hcd [ 2891.783438] usb 1-5: unable to read config index 0 descriptor/start: -71 [ 2891.783443] usb 1-5: can't read configurations, error -71 [1]: See commits c68929f, 876af5d, d749947, a32c99e and dc703ec. Tested-by: Adrien Vergé <adrienverge@gmail.com> --- drivers/hid/hid-ids.h | 1 + drivers/hid/usbhid/hid-quirks.c | 1 + drivers/usb/core/quirks.c | 3 +++ 3 files changed, 5 insertions(+) diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index ac1feea..6b68408 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -321,6 +321,7 @@ #define USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103 0x0103 #define USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c 0x010c #define USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F 0x016f +#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_21B8 0x21b8 #define USB_VENDOR_ID_ELECOM 0x056e #define USB_DEVICE_ID_ELECOM_BM084 0x0061 diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c index 94bb137..7a45942 100644 --- a/drivers/hid/usbhid/hid-quirks.c +++ b/drivers/hid/usbhid/hid-quirks.c @@ -77,6 +77,7 @@ static const struct hid_blacklist { { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103, HID_QUIRK_ALWAYS_POLL }, { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c, HID_QUIRK_ALWAYS_POLL }, { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F, HID_QUIRK_ALWAYS_POLL }, + { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_21B8, HID_QUIRK_ALWAYS_POLL }, { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, { 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 }, diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c index f5a3819..fcd6ac0 100644 --- a/drivers/usb/core/quirks.c +++ b/drivers/usb/core/quirks.c @@ -125,6 +125,9 @@ static const struct usb_device_id usb_quirk_list[] = { { USB_DEVICE(0x04f3, 0x016f), .driver_info = USB_QUIRK_DEVICE_QUALIFIER }, + { USB_DEVICE(0x04f3, 0x21b8), .driver_info = + USB_QUIRK_DEVICE_QUALIFIER }, + /* Roland SC-8820 */ { USB_DEVICE(0x0582, 0x0007), .driver_info = USB_QUIRK_RESET_RESUME }, -- 2.4.3 ^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH] USB: quirks: Fix another ELAN touchscreen @ 2015-11-22 4:06 ` Adrien Vergé 0 siblings, 0 replies; 32+ messages in thread From: Adrien Vergé @ 2015-11-22 4:06 UTC (permalink / raw) To: Jiri Kosina Cc: Greg Kroah-Hartman, Macpaul Lin, Vincent Palatin, Logan Gunthorpe, Hans de Goede, Adrien Vergé, Yao-Wen Mao, linux-input-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA, linux-usb-u79uwXL29TY76Z2rM5mHXA Like other buggy models that had their fixes [1], the touchscreen with id 04f3:21b8 from ELAN Microelectronics needs the device-qualifier quirk. Otherwise, it fails to respond, blocks the boot for a random amount of time and pollutes dmesg with: [ 2887.373196] usb 1-5: new full-speed USB device number 41 using xhci_hcd [ 2889.502000] usb 1-5: unable to read config index 0 descriptor/start: -71 [ 2889.502005] usb 1-5: can't read configurations, error -71 [ 2889.654571] usb 1-5: new full-speed USB device number 42 using xhci_hcd [ 2891.783438] usb 1-5: unable to read config index 0 descriptor/start: -71 [ 2891.783443] usb 1-5: can't read configurations, error -71 [1]: See commits c68929f, 876af5d, d749947, a32c99e and dc703ec. Tested-by: Adrien Vergé <adrienverge-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> --- drivers/hid/hid-ids.h | 1 + drivers/hid/usbhid/hid-quirks.c | 1 + drivers/usb/core/quirks.c | 3 +++ 3 files changed, 5 insertions(+) diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index ac1feea..6b68408 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -321,6 +321,7 @@ #define USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103 0x0103 #define USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c 0x010c #define USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F 0x016f +#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_21B8 0x21b8 #define USB_VENDOR_ID_ELECOM 0x056e #define USB_DEVICE_ID_ELECOM_BM084 0x0061 diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c index 94bb137..7a45942 100644 --- a/drivers/hid/usbhid/hid-quirks.c +++ b/drivers/hid/usbhid/hid-quirks.c @@ -77,6 +77,7 @@ static const struct hid_blacklist { { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103, HID_QUIRK_ALWAYS_POLL }, { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c, HID_QUIRK_ALWAYS_POLL }, { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F, HID_QUIRK_ALWAYS_POLL }, + { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_21B8, HID_QUIRK_ALWAYS_POLL }, { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, { 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 }, diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c index f5a3819..fcd6ac0 100644 --- a/drivers/usb/core/quirks.c +++ b/drivers/usb/core/quirks.c @@ -125,6 +125,9 @@ static const struct usb_device_id usb_quirk_list[] = { { USB_DEVICE(0x04f3, 0x016f), .driver_info = USB_QUIRK_DEVICE_QUALIFIER }, + { USB_DEVICE(0x04f3, 0x21b8), .driver_info = + USB_QUIRK_DEVICE_QUALIFIER }, + /* Roland SC-8820 */ { USB_DEVICE(0x0582, 0x0007), .driver_info = USB_QUIRK_RESET_RESUME }, -- 2.4.3 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 32+ messages in thread
* Re: [PATCH] USB: quirks: Fix another ELAN touchscreen 2015-11-22 4:06 ` Adrien Vergé @ 2015-11-23 14:52 ` Jiri Kosina -1 siblings, 0 replies; 32+ messages in thread From: Jiri Kosina @ 2015-11-23 14:52 UTC (permalink / raw) To: Adrien Vergé Cc: Greg Kroah-Hartman, Macpaul Lin, Vincent Palatin, Logan Gunthorpe, Hans de Goede, Yao-Wen Mao, linux-input, linux-kernel, linux-usb On Sat, 21 Nov 2015, Adrien Vergé wrote: > Like other buggy models that had their fixes [1], the touchscreen with > id 04f3:21b8 from ELAN Microelectronics needs the device-qualifier > quirk. Otherwise, it fails to respond, blocks the boot for a random > amount of time and pollutes dmesg with: > > [ 2887.373196] usb 1-5: new full-speed USB device number 41 using xhci_hcd > [ 2889.502000] usb 1-5: unable to read config index 0 descriptor/start: -71 > [ 2889.502005] usb 1-5: can't read configurations, error -71 > [ 2889.654571] usb 1-5: new full-speed USB device number 42 using xhci_hcd > [ 2891.783438] usb 1-5: unable to read config index 0 descriptor/start: -71 > [ 2891.783443] usb 1-5: can't read configurations, error -71 The drivers/hid part is Acked-by: Jiri Kosina <jkosina@suse.cz> Makes one wonder however whether we shouldn't be applying ALWAYS_POLL to all ELAN devices by default anyway. > [1]: See commits c68929f, 876af5d, d749947, a32c99e and dc703ec. > > Tested-by: Adrien Vergé <adrienverge@gmail.com> You need signoff here as well so that the patch can be applied. Thanks, -- Jiri Kosina SUSE Labs ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] USB: quirks: Fix another ELAN touchscreen @ 2015-11-23 14:52 ` Jiri Kosina 0 siblings, 0 replies; 32+ messages in thread From: Jiri Kosina @ 2015-11-23 14:52 UTC (permalink / raw) To: Adrien Vergé Cc: Greg Kroah-Hartman, Macpaul Lin, Vincent Palatin, Logan Gunthorpe, Hans de Goede, Yao-Wen Mao, linux-input, linux-kernel, linux-usb On Sat, 21 Nov 2015, Adrien Vergé wrote: > Like other buggy models that had their fixes [1], the touchscreen with > id 04f3:21b8 from ELAN Microelectronics needs the device-qualifier > quirk. Otherwise, it fails to respond, blocks the boot for a random > amount of time and pollutes dmesg with: > > [ 2887.373196] usb 1-5: new full-speed USB device number 41 using xhci_hcd > [ 2889.502000] usb 1-5: unable to read config index 0 descriptor/start: -71 > [ 2889.502005] usb 1-5: can't read configurations, error -71 > [ 2889.654571] usb 1-5: new full-speed USB device number 42 using xhci_hcd > [ 2891.783438] usb 1-5: unable to read config index 0 descriptor/start: -71 > [ 2891.783443] usb 1-5: can't read configurations, error -71 The drivers/hid part is Acked-by: Jiri Kosina <jkosina@suse.cz> Makes one wonder however whether we shouldn't be applying ALWAYS_POLL to all ELAN devices by default anyway. > [1]: See commits c68929f, 876af5d, d749947, a32c99e and dc703ec. > > Tested-by: Adrien Vergé <adrienverge@gmail.com> You need signoff here as well so that the patch can be applied. Thanks, -- Jiri Kosina SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] USB: quirks: Fix another ELAN touchscreen 2015-11-23 14:52 ` Jiri Kosina (?) @ 2015-11-23 17:37 ` Adrien Vergé 2015-11-24 7:29 ` Oliver Neukum -1 siblings, 1 reply; 32+ messages in thread From: Adrien Vergé @ 2015-11-23 17:37 UTC (permalink / raw) To: Jiri Kosina Cc: Greg Kroah-Hartman, Macpaul Lin, Vincent Palatin, Logan Gunthorpe, Hans de Goede, Yao-Wen Mao, linux-input, linux-kernel, linux-usb 2015-11-23 15:52 GMT+01:00 Jiri Kosina <jikos@kernel.org>: > The drivers/hid part is > > Acked-by: Jiri Kosina <jkosina@suse.cz> Thanks. > Makes one wonder however whether we shouldn't be applying ALWAYS_POLL to > all ELAN devices by default anyway. True! But I don't want to risk breaking anything on other models in this patch. I'll submit a v2 with appropriate signed-off-by and acked-by. ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] USB: quirks: Fix another ELAN touchscreen 2015-11-23 17:37 ` Adrien Vergé @ 2015-11-24 7:29 ` Oliver Neukum 0 siblings, 0 replies; 32+ messages in thread From: Oliver Neukum @ 2015-11-24 7:29 UTC (permalink / raw) To: Adrien Vergé Cc: Jiri Kosina, Greg Kroah-Hartman, Macpaul Lin, Vincent Palatin, Logan Gunthorpe, Hans de Goede, Yao-Wen Mao, linux-input, linux-kernel, linux-usb On Mon, 2015-11-23 at 18:37 +0100, Adrien Vergé wrote: > > Makes one wonder however whether we shouldn't be applying > ALWAYS_POLL to > > all ELAN devices by default anyway. > > True! But I don't want to risk breaking anything on other models in > this patch. ALWAYS_POLL just extends an existing behavior. The chances of breaking anything are slim. I'd go for the approach based on the vendor ID. Regards Oliver ^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH v2] USB: quirks: Fix another ELAN touchscreen 2015-11-22 4:06 ` Adrien Vergé (?) (?) @ 2015-11-23 17:43 ` Adrien Vergé -1 siblings, 0 replies; 32+ messages in thread From: Adrien Vergé @ 2015-11-23 17:43 UTC (permalink / raw) To: Jiri Kosina Cc: Greg Kroah-Hartman, Logan Gunthorpe, Hans de Goede, Vincent Palatin, Adrien Vergé, Macpaul Lin, Adel Gadllah, linux-input, linux-kernel, linux-usb Like other buggy models that had their fixes [1], the touchscreen with id 04f3:21b8 from ELAN Microelectronics needs the device-qualifier quirk. Otherwise, it fails to respond, blocks the boot for a random amount of time and pollutes dmesg with: [ 2887.373196] usb 1-5: new full-speed USB device number 41 using xhci_hcd [ 2889.502000] usb 1-5: unable to read config index 0 descriptor/start: -71 [ 2889.502005] usb 1-5: can't read configurations, error -71 [ 2889.654571] usb 1-5: new full-speed USB device number 42 using xhci_hcd [ 2891.783438] usb 1-5: unable to read config index 0 descriptor/start: -71 [ 2891.783443] usb 1-5: can't read configurations, error -71 [1]: See commits c68929f, 876af5d, d749947, a32c99e and dc703ec. Tested-by: Adrien Vergé <adrienverge@gmail.com> Signed-off-by: Adrien Vergé <adrienverge@gmail.com> Acked-by: Jiri Kosina <jkosina@suse.cz> --- drivers/hid/hid-ids.h | 1 + drivers/hid/usbhid/hid-quirks.c | 1 + drivers/usb/core/quirks.c | 3 +++ 3 files changed, 5 insertions(+) diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index ac1feea..6b68408 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -321,6 +321,7 @@ #define USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103 0x0103 #define USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c 0x010c #define USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F 0x016f +#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_21B8 0x21b8 #define USB_VENDOR_ID_ELECOM 0x056e #define USB_DEVICE_ID_ELECOM_BM084 0x0061 diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c index 94bb137..7a45942 100644 --- a/drivers/hid/usbhid/hid-quirks.c +++ b/drivers/hid/usbhid/hid-quirks.c @@ -77,6 +77,7 @@ static const struct hid_blacklist { { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103, HID_QUIRK_ALWAYS_POLL }, { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c, HID_QUIRK_ALWAYS_POLL }, { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F, HID_QUIRK_ALWAYS_POLL }, + { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_21B8, HID_QUIRK_ALWAYS_POLL }, { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, { 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 }, diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c index f5a3819..fcd6ac0 100644 --- a/drivers/usb/core/quirks.c +++ b/drivers/usb/core/quirks.c @@ -125,6 +125,9 @@ static const struct usb_device_id usb_quirk_list[] = { { USB_DEVICE(0x04f3, 0x016f), .driver_info = USB_QUIRK_DEVICE_QUALIFIER }, + { USB_DEVICE(0x04f3, 0x21b8), .driver_info = + USB_QUIRK_DEVICE_QUALIFIER }, + /* Roland SC-8820 */ { USB_DEVICE(0x0582, 0x0007), .driver_info = USB_QUIRK_RESET_RESUME }, -- 2.5.0 ^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH v3 0/2] Fixes for ELAN touchscreens 2015-11-22 4:06 ` Adrien Vergé ` (2 preceding siblings ...) (?) @ 2015-11-24 13:49 ` Adrien Vergé 2015-11-24 13:49 ` [PATCH v3 1/2] USB: quirks: Fix another ELAN touchscreen Adrien Vergé 2015-11-24 13:49 ` [PATCH v3 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices Adrien Vergé -1 siblings, 2 replies; 32+ messages in thread From: Adrien Vergé @ 2015-11-24 13:49 UTC (permalink / raw) To: Oliver Neukum Cc: Jiri Kosina, Greg Kroah-Hartman, Logan Gunthorpe, Hans de Goede, Vincent Palatin, Adrien Vergé, Macpaul Lin, Adel Gadllah, linux-input, linux-kernel, linux-usb This is the third version of a patchset which originally aimed to fix a buggy touchscreen from ELAN Microelectronics. Thanks to feedback from Jiri Kosina and Oliver Neukum, the ALWAYS_POLL quirk is now applied to all ELAN devices by default. Adrien Vergé (2): USB: quirks: Fix another ELAN touchscreen USB: quirks: Apply ALWAYS_POLL to all ELAN devices drivers/hid/hid-ids.h | 5 ----- drivers/hid/usbhid/hid-quirks.c | 43 +++++++++++++++++++++++++++-------------- drivers/usb/core/quirks.c | 3 +++ 3 files changed, 32 insertions(+), 19 deletions(-) -- 2.4.3 ^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH v3 1/2] USB: quirks: Fix another ELAN touchscreen 2015-11-24 13:49 ` [PATCH v3 0/2] Fixes for ELAN touchscreens Adrien Vergé @ 2015-11-24 13:49 ` Adrien Vergé 2015-11-24 13:49 ` [PATCH v3 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices Adrien Vergé 1 sibling, 0 replies; 32+ messages in thread From: Adrien Vergé @ 2015-11-24 13:49 UTC (permalink / raw) To: Oliver Neukum Cc: Jiri Kosina, Greg Kroah-Hartman, Logan Gunthorpe, Hans de Goede, Vincent Palatin, Adrien Vergé, Macpaul Lin, Adel Gadllah, linux-input, linux-kernel, linux-usb Like other buggy models that had their fixes [1], the touchscreen with id 04f3:21b8 from ELAN Microelectronics needs the device-qualifier quirk. Otherwise, it fails to respond, blocks the boot for a random amount of time and pollutes dmesg with: [ 2887.373196] usb 1-5: new full-speed USB device number 41 using xhci_hcd [ 2889.502000] usb 1-5: unable to read config index 0 descriptor/start: -71 [ 2889.502005] usb 1-5: can't read configurations, error -71 [ 2889.654571] usb 1-5: new full-speed USB device number 42 using xhci_hcd [ 2891.783438] usb 1-5: unable to read config index 0 descriptor/start: -71 [ 2891.783443] usb 1-5: can't read configurations, error -71 [1]: See commits c68929f, 876af5d, d749947, a32c99e and dc703ec. Tested-by: Adrien Vergé <adrienverge@gmail.com> Signed-off-by: Adrien Vergé <adrienverge@gmail.com> --- drivers/usb/core/quirks.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c index f5a3819..fcd6ac0 100644 --- a/drivers/usb/core/quirks.c +++ b/drivers/usb/core/quirks.c @@ -125,6 +125,9 @@ static const struct usb_device_id usb_quirk_list[] = { { USB_DEVICE(0x04f3, 0x016f), .driver_info = USB_QUIRK_DEVICE_QUALIFIER }, + { USB_DEVICE(0x04f3, 0x21b8), .driver_info = + USB_QUIRK_DEVICE_QUALIFIER }, + /* Roland SC-8820 */ { USB_DEVICE(0x0582, 0x0007), .driver_info = USB_QUIRK_RESET_RESUME }, -- 2.4.3 ^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH v3 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices 2015-11-24 13:49 ` [PATCH v3 0/2] Fixes for ELAN touchscreens Adrien Vergé 2015-11-24 13:49 ` [PATCH v3 1/2] USB: quirks: Fix another ELAN touchscreen Adrien Vergé @ 2015-11-24 13:49 ` Adrien Vergé 2015-11-24 14:11 ` Benjamin Tissoires 1 sibling, 1 reply; 32+ messages in thread From: Adrien Vergé @ 2015-11-24 13:49 UTC (permalink / raw) To: Oliver Neukum Cc: Jiri Kosina, Greg Kroah-Hartman, Logan Gunthorpe, Hans de Goede, Vincent Palatin, Adrien Vergé, Macpaul Lin, Adel Gadllah, linux-input, linux-kernel, linux-usb All ELAN hid devices seem to require the ALWAYS_POLL quirk. Let's use this quirk for all devices from this vendor, rather than maintaining a list of all its known product IDs. To achieve that, this patch introduces a new hid_vendor_blacklist[] that is checked when the product ID is not found in hid_product_blacklist[]. Tested-by: Adrien Vergé <adrienverge@gmail.com> Signed-off-by: Adrien Vergé <adrienverge@gmail.com> --- drivers/hid/hid-ids.h | 5 ----- drivers/hid/usbhid/hid-quirks.c | 43 +++++++++++++++++++++++++++-------------- 2 files changed, 29 insertions(+), 19 deletions(-) diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index ac1feea..3c7e0c3 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -316,11 +316,6 @@ #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001 0xa001 #define USB_VENDOR_ID_ELAN 0x04f3 -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN 0x0089 -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B 0x009b -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103 0x0103 -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c 0x010c -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F 0x016f #define USB_VENDOR_ID_ELECOM 0x056e #define USB_DEVICE_ID_ELECOM_BM084 0x0061 diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c index 94bb137..9550497 100644 --- a/drivers/hid/usbhid/hid-quirks.c +++ b/drivers/hid/usbhid/hid-quirks.c @@ -21,15 +21,29 @@ #include "../hid-ids.h" +struct hid_blacklist { + __u16 idVendor; + __u16 idProduct; + __u32 quirks; +}; + +/* + * Alphabetically sorted blacklist for vendor-global quirks. If a device matches + * both this blacklist and the product one (below), the more specific one + * (product ID) prevails. + */ + +static const struct hid_blacklist hid_vendor_blacklist[] = { + { USB_VENDOR_ID_ELAN, 0, HID_QUIRK_ALWAYS_POLL }, + + { 0, 0, 0 } +}; + /* * Alphabetically sorted blacklist by quirk type. */ -static const struct hid_blacklist { - __u16 idVendor; - __u16 idProduct; - __u32 quirks; -} hid_blacklist[] = { +static const struct hid_blacklist hid_product_blacklist[] = { { USB_VENDOR_ID_AASHIMA, USB_DEVICE_ID_AASHIMA_GAMEPAD, HID_QUIRK_BADPAD }, { USB_VENDOR_ID_AASHIMA, USB_DEVICE_ID_AASHIMA_PREDATOR, HID_QUIRK_BADPAD }, { USB_VENDOR_ID_ALPS, USB_DEVICE_ID_IBM_GAMEPAD, HID_QUIRK_BADPAD }, @@ -72,11 +86,6 @@ static const struct hid_blacklist { { USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE, HID_QUIRK_ALWAYS_POLL }, { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_WIIU, HID_QUIRK_MULTI_INPUT }, - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN, HID_QUIRK_ALWAYS_POLL }, - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B, HID_QUIRK_ALWAYS_POLL }, - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103, HID_QUIRK_ALWAYS_POLL }, - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c, HID_QUIRK_ALWAYS_POLL }, - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F, HID_QUIRK_ALWAYS_POLL }, { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, { 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 }, @@ -337,10 +346,16 @@ static const struct hid_blacklist *usbhid_exists_squirk(const u16 idVendor, const struct hid_blacklist *bl_entry = NULL; int n = 0; - for (; hid_blacklist[n].idVendor; n++) - if (hid_blacklist[n].idVendor == idVendor && - hid_blacklist[n].idProduct == idProduct) - bl_entry = &hid_blacklist[n]; + for (; hid_product_blacklist[n].idVendor; n++) + if (hid_product_blacklist[n].idVendor == idVendor && + hid_product_blacklist[n].idProduct == idProduct) + bl_entry = &hid_product_blacklist[n]; + + if (bl_entry == NULL) { + for (n = 0; hid_vendor_blacklist[n].idVendor; n++) + if (hid_vendor_blacklist[n].idVendor == idVendor) + bl_entry = &hid_vendor_blacklist[n]; + } if (bl_entry != NULL) dbg_hid("Found squirk 0x%x for USB HID vendor 0x%hx prod 0x%hx\n", -- 2.4.3 ^ permalink raw reply related [flat|nested] 32+ messages in thread
* Re: [PATCH v3 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices 2015-11-24 13:49 ` [PATCH v3 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices Adrien Vergé @ 2015-11-24 14:11 ` Benjamin Tissoires 0 siblings, 0 replies; 32+ messages in thread From: Benjamin Tissoires @ 2015-11-24 14:11 UTC (permalink / raw) To: Adrien Vergé Cc: Oliver Neukum, Jiri Kosina, Greg Kroah-Hartman, Logan Gunthorpe, Hans de Goede, Vincent Palatin, Macpaul Lin, Adel Gadllah, linux-input, linux-kernel, linux-usb Hi Adrien, On Tue, Nov 24, 2015 at 2:49 PM, Adrien Vergé <adrienverge@gmail.com> wrote: > All ELAN hid devices seem to require the ALWAYS_POLL quirk. Let's use > this quirk for all devices from this vendor, rather than maintaining a > list of all its known product IDs. > > To achieve that, this patch introduces a new hid_vendor_blacklist[] that > is checked when the product ID is not found in hid_product_blacklist[]. > > Tested-by: Adrien Vergé <adrienverge@gmail.com> > Signed-off-by: Adrien Vergé <adrienverge@gmail.com> > --- > drivers/hid/hid-ids.h | 5 ----- > drivers/hid/usbhid/hid-quirks.c | 43 +++++++++++++++++++++++++++-------------- > 2 files changed, 29 insertions(+), 19 deletions(-) > > diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h > index ac1feea..3c7e0c3 100644 > --- a/drivers/hid/hid-ids.h > +++ b/drivers/hid/hid-ids.h > @@ -316,11 +316,6 @@ > #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001 0xa001 > > #define USB_VENDOR_ID_ELAN 0x04f3 > -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN 0x0089 > -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B 0x009b > -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103 0x0103 > -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c 0x010c > -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F 0x016f > > #define USB_VENDOR_ID_ELECOM 0x056e > #define USB_DEVICE_ID_ELECOM_BM084 0x0061 > diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c > index 94bb137..9550497 100644 > --- a/drivers/hid/usbhid/hid-quirks.c > +++ b/drivers/hid/usbhid/hid-quirks.c > @@ -21,15 +21,29 @@ > > #include "../hid-ids.h" > > +struct hid_blacklist { > + __u16 idVendor; > + __u16 idProduct; > + __u32 quirks; > +}; > + > +/* > + * Alphabetically sorted blacklist for vendor-global quirks. If a device matches > + * both this blacklist and the product one (below), the more specific one > + * (product ID) prevails. > + */ > + > +static const struct hid_blacklist hid_vendor_blacklist[] = { > + { USB_VENDOR_ID_ELAN, 0, HID_QUIRK_ALWAYS_POLL }, > + > + { 0, 0, 0 } > +}; Instead of adding a second table, I'd rather have a match on HID_ANY_ID for the product ID. > + > /* > * Alphabetically sorted blacklist by quirk type. > */ > > -static const struct hid_blacklist { > - __u16 idVendor; > - __u16 idProduct; > - __u32 quirks; > -} hid_blacklist[] = { > +static const struct hid_blacklist hid_product_blacklist[] = { > { USB_VENDOR_ID_AASHIMA, USB_DEVICE_ID_AASHIMA_GAMEPAD, HID_QUIRK_BADPAD }, > { USB_VENDOR_ID_AASHIMA, USB_DEVICE_ID_AASHIMA_PREDATOR, HID_QUIRK_BADPAD }, > { USB_VENDOR_ID_ALPS, USB_DEVICE_ID_IBM_GAMEPAD, HID_QUIRK_BADPAD }, > @@ -72,11 +86,6 @@ static const struct hid_blacklist { > { USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE, HID_QUIRK_ALWAYS_POLL }, > { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, > { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_WIIU, HID_QUIRK_MULTI_INPUT }, > - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN, HID_QUIRK_ALWAYS_POLL }, > - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B, HID_QUIRK_ALWAYS_POLL }, > - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103, HID_QUIRK_ALWAYS_POLL }, > - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c, HID_QUIRK_ALWAYS_POLL }, > - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F, HID_QUIRK_ALWAYS_POLL }, This becomes: { USB_VENDOR_ID_ELAN, HID_ANY_ID, HID_QUIRK_ALWAYS_POLL }, > { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, > { 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 }, > @@ -337,10 +346,16 @@ static const struct hid_blacklist *usbhid_exists_squirk(const u16 idVendor, > const struct hid_blacklist *bl_entry = NULL; > int n = 0; > > - for (; hid_blacklist[n].idVendor; n++) > - if (hid_blacklist[n].idVendor == idVendor && > - hid_blacklist[n].idProduct == idProduct) And here you need to check also on the match with HID_ANY_ID for both idVendor and idProduct. Cheers, Benjamin > - bl_entry = &hid_blacklist[n]; > + for (; hid_product_blacklist[n].idVendor; n++) > + if (hid_product_blacklist[n].idVendor == idVendor && > + hid_product_blacklist[n].idProduct == idProduct) > + bl_entry = &hid_product_blacklist[n]; > + > + if (bl_entry == NULL) { > + for (n = 0; hid_vendor_blacklist[n].idVendor; n++) > + if (hid_vendor_blacklist[n].idVendor == idVendor) > + bl_entry = &hid_vendor_blacklist[n]; > + } > > if (bl_entry != NULL) > dbg_hid("Found squirk 0x%x for USB HID vendor 0x%hx prod 0x%hx\n", > -- > 2.4.3 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH v3 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices @ 2015-11-24 14:11 ` Benjamin Tissoires 0 siblings, 0 replies; 32+ messages in thread From: Benjamin Tissoires @ 2015-11-24 14:11 UTC (permalink / raw) To: Adrien Vergé Cc: Oliver Neukum, Jiri Kosina, Greg Kroah-Hartman, Logan Gunthorpe, Hans de Goede, Vincent Palatin, Macpaul Lin, Adel Gadllah, linux-input, linux-kernel, linux-usb Hi Adrien, On Tue, Nov 24, 2015 at 2:49 PM, Adrien Vergé <adrienverge@gmail.com> wrote: > All ELAN hid devices seem to require the ALWAYS_POLL quirk. Let's use > this quirk for all devices from this vendor, rather than maintaining a > list of all its known product IDs. > > To achieve that, this patch introduces a new hid_vendor_blacklist[] that > is checked when the product ID is not found in hid_product_blacklist[]. > > Tested-by: Adrien Vergé <adrienverge@gmail.com> > Signed-off-by: Adrien Vergé <adrienverge@gmail.com> > --- > drivers/hid/hid-ids.h | 5 ----- > drivers/hid/usbhid/hid-quirks.c | 43 +++++++++++++++++++++++++++-------------- > 2 files changed, 29 insertions(+), 19 deletions(-) > > diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h > index ac1feea..3c7e0c3 100644 > --- a/drivers/hid/hid-ids.h > +++ b/drivers/hid/hid-ids.h > @@ -316,11 +316,6 @@ > #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001 0xa001 > > #define USB_VENDOR_ID_ELAN 0x04f3 > -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN 0x0089 > -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B 0x009b > -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103 0x0103 > -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c 0x010c > -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F 0x016f > > #define USB_VENDOR_ID_ELECOM 0x056e > #define USB_DEVICE_ID_ELECOM_BM084 0x0061 > diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c > index 94bb137..9550497 100644 > --- a/drivers/hid/usbhid/hid-quirks.c > +++ b/drivers/hid/usbhid/hid-quirks.c > @@ -21,15 +21,29 @@ > > #include "../hid-ids.h" > > +struct hid_blacklist { > + __u16 idVendor; > + __u16 idProduct; > + __u32 quirks; > +}; > + > +/* > + * Alphabetically sorted blacklist for vendor-global quirks. If a device matches > + * both this blacklist and the product one (below), the more specific one > + * (product ID) prevails. > + */ > + > +static const struct hid_blacklist hid_vendor_blacklist[] = { > + { USB_VENDOR_ID_ELAN, 0, HID_QUIRK_ALWAYS_POLL }, > + > + { 0, 0, 0 } > +}; Instead of adding a second table, I'd rather have a match on HID_ANY_ID for the product ID. > + > /* > * Alphabetically sorted blacklist by quirk type. > */ > > -static const struct hid_blacklist { > - __u16 idVendor; > - __u16 idProduct; > - __u32 quirks; > -} hid_blacklist[] = { > +static const struct hid_blacklist hid_product_blacklist[] = { > { USB_VENDOR_ID_AASHIMA, USB_DEVICE_ID_AASHIMA_GAMEPAD, HID_QUIRK_BADPAD }, > { USB_VENDOR_ID_AASHIMA, USB_DEVICE_ID_AASHIMA_PREDATOR, HID_QUIRK_BADPAD }, > { USB_VENDOR_ID_ALPS, USB_DEVICE_ID_IBM_GAMEPAD, HID_QUIRK_BADPAD }, > @@ -72,11 +86,6 @@ static const struct hid_blacklist { > { USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE, HID_QUIRK_ALWAYS_POLL }, > { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, > { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_WIIU, HID_QUIRK_MULTI_INPUT }, > - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN, HID_QUIRK_ALWAYS_POLL }, > - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B, HID_QUIRK_ALWAYS_POLL }, > - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103, HID_QUIRK_ALWAYS_POLL }, > - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c, HID_QUIRK_ALWAYS_POLL }, > - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F, HID_QUIRK_ALWAYS_POLL }, This becomes: { USB_VENDOR_ID_ELAN, HID_ANY_ID, HID_QUIRK_ALWAYS_POLL }, > { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, > { 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 }, > @@ -337,10 +346,16 @@ static const struct hid_blacklist *usbhid_exists_squirk(const u16 idVendor, > const struct hid_blacklist *bl_entry = NULL; > int n = 0; > > - for (; hid_blacklist[n].idVendor; n++) > - if (hid_blacklist[n].idVendor == idVendor && > - hid_blacklist[n].idProduct == idProduct) And here you need to check also on the match with HID_ANY_ID for both idVendor and idProduct. Cheers, Benjamin > - bl_entry = &hid_blacklist[n]; > + for (; hid_product_blacklist[n].idVendor; n++) > + if (hid_product_blacklist[n].idVendor == idVendor && > + hid_product_blacklist[n].idProduct == idProduct) > + bl_entry = &hid_product_blacklist[n]; > + > + if (bl_entry == NULL) { > + for (n = 0; hid_vendor_blacklist[n].idVendor; n++) > + if (hid_vendor_blacklist[n].idVendor == idVendor) > + bl_entry = &hid_vendor_blacklist[n]; > + } > > if (bl_entry != NULL) > dbg_hid("Found squirk 0x%x for USB HID vendor 0x%hx prod 0x%hx\n", > -- > 2.4.3 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH v3 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices 2015-11-24 14:11 ` Benjamin Tissoires (?) @ 2015-11-24 14:34 ` Adrien Vergé -1 siblings, 0 replies; 32+ messages in thread From: Adrien Vergé @ 2015-11-24 14:34 UTC (permalink / raw) To: Benjamin Tissoires Cc: Oliver Neukum, Jiri Kosina, Greg Kroah-Hartman, Logan Gunthorpe, Hans de Goede, Vincent Palatin, Macpaul Lin, Adel Gadllah, linux-input, linux-kernel, linux-usb 2015-11-24 15:11 GMT+01:00 Benjamin Tissoires <benjamin.tissoires@gmail.com>: > Instead of adding a second table, I'd rather have a match on > HID_ANY_ID for the product ID. Thanks Benjamin, the way you propose is much cleaner. (I actually looked for such a *wildcard* product id, but apparently didn't looked deep enough!) ^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH v4 0/2] Fixes for ELAN touchscreens 2015-11-22 4:06 ` Adrien Vergé @ 2015-11-24 15:02 ` Adrien Vergé -1 siblings, 0 replies; 32+ messages in thread From: Adrien Vergé @ 2015-11-24 15:02 UTC (permalink / raw) To: Benjamin Tissoires, Oliver Neukum, Jiri Kosina Cc: Greg Kroah-Hartman, Logan Gunthorpe, Hans de Goede, Vincent Palatin, Adrien Vergé, Macpaul Lin, Adel Gadllah, linux-input, linux-kernel, linux-usb This is the fourth version of a patchset which originally aimed to fix a buggy touchscreen from ELAN Microelectronics. Changes since v3: - Use HID_ANY_ID to define a vendor-ID-global quirk, as suggested by Benjamin Tissoires. Changes since v2: - Apply ALWAYS_POLL quirk to all ELAN devices by default, as suggested by Jiri Kosina and Oliver Neukum. Adrien Vergé (2): USB: quirks: Fix another ELAN touchscreen USB: quirks: Apply ALWAYS_POLL to all ELAN devices drivers/hid/hid-ids.h | 5 ----- drivers/hid/usbhid/hid-quirks.c | 9 +++------ drivers/usb/core/quirks.c | 3 +++ 3 files changed, 6 insertions(+), 11 deletions(-) -- 2.4.3 ^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH v4 0/2] Fixes for ELAN touchscreens @ 2015-11-24 15:02 ` Adrien Vergé 0 siblings, 0 replies; 32+ messages in thread From: Adrien Vergé @ 2015-11-24 15:02 UTC (permalink / raw) To: Benjamin Tissoires, Oliver Neukum, Jiri Kosina Cc: Greg Kroah-Hartman, Logan Gunthorpe, Hans de Goede, Vincent Palatin, Adrien Vergé, Macpaul Lin, Adel Gadllah, linux-input, linux-kernel, linux-usb This is the fourth version of a patchset which originally aimed to fix a buggy touchscreen from ELAN Microelectronics. Changes since v3: - Use HID_ANY_ID to define a vendor-ID-global quirk, as suggested by Benjamin Tissoires. Changes since v2: - Apply ALWAYS_POLL quirk to all ELAN devices by default, as suggested by Jiri Kosina and Oliver Neukum. Adrien Vergé (2): USB: quirks: Fix another ELAN touchscreen USB: quirks: Apply ALWAYS_POLL to all ELAN devices drivers/hid/hid-ids.h | 5 ----- drivers/hid/usbhid/hid-quirks.c | 9 +++------ drivers/usb/core/quirks.c | 3 +++ 3 files changed, 6 insertions(+), 11 deletions(-) -- 2.4.3 -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH v4 1/2] USB: quirks: Fix another ELAN touchscreen 2015-11-24 15:02 ` Adrien Vergé (?) @ 2015-11-24 15:02 ` Adrien Vergé -1 siblings, 0 replies; 32+ messages in thread From: Adrien Vergé @ 2015-11-24 15:02 UTC (permalink / raw) To: Benjamin Tissoires, Oliver Neukum, Jiri Kosina Cc: Greg Kroah-Hartman, Logan Gunthorpe, Hans de Goede, Vincent Palatin, Adrien Vergé, Macpaul Lin, Adel Gadllah, linux-input, linux-kernel, linux-usb Like other buggy models that had their fixes [1], the touchscreen with id 04f3:21b8 from ELAN Microelectronics needs the device-qualifier quirk. Otherwise, it fails to respond, blocks the boot for a random amount of time and pollutes dmesg with: [ 2887.373196] usb 1-5: new full-speed USB device number 41 using xhci_hcd [ 2889.502000] usb 1-5: unable to read config index 0 descriptor/start: -71 [ 2889.502005] usb 1-5: can't read configurations, error -71 [ 2889.654571] usb 1-5: new full-speed USB device number 42 using xhci_hcd [ 2891.783438] usb 1-5: unable to read config index 0 descriptor/start: -71 [ 2891.783443] usb 1-5: can't read configurations, error -71 [1]: See commits c68929f, 876af5d, d749947, a32c99e and dc703ec. Tested-by: Adrien Vergé <adrienverge@gmail.com> Signed-off-by: Adrien Vergé <adrienverge@gmail.com> --- drivers/usb/core/quirks.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c index f5a3819..fcd6ac0 100644 --- a/drivers/usb/core/quirks.c +++ b/drivers/usb/core/quirks.c @@ -125,6 +125,9 @@ static const struct usb_device_id usb_quirk_list[] = { { USB_DEVICE(0x04f3, 0x016f), .driver_info = USB_QUIRK_DEVICE_QUALIFIER }, + { USB_DEVICE(0x04f3, 0x21b8), .driver_info = + USB_QUIRK_DEVICE_QUALIFIER }, + /* Roland SC-8820 */ { USB_DEVICE(0x0582, 0x0007), .driver_info = USB_QUIRK_RESET_RESUME }, -- 2.4.3 ^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH v4 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices 2015-11-24 15:02 ` Adrien Vergé @ 2015-11-24 15:02 ` Adrien Vergé -1 siblings, 0 replies; 32+ messages in thread From: Adrien Vergé @ 2015-11-24 15:02 UTC (permalink / raw) To: Benjamin Tissoires, Oliver Neukum, Jiri Kosina Cc: Greg Kroah-Hartman, Logan Gunthorpe, Hans de Goede, Vincent Palatin, Adrien Vergé, Macpaul Lin, Adel Gadllah, linux-input, linux-kernel, linux-usb All ELAN hid devices seem to require the ALWAYS_POLL quirk. Let's use this quirk for all devices from this vendor, rather than maintaining a list of all its known product IDs. Tested-by: Adrien Vergé <adrienverge@gmail.com> Signed-off-by: Adrien Vergé <adrienverge@gmail.com> --- drivers/hid/hid-ids.h | 5 ----- drivers/hid/usbhid/hid-quirks.c | 9 +++------ 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index ac1feea..3c7e0c3 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -316,11 +316,6 @@ #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001 0xa001 #define USB_VENDOR_ID_ELAN 0x04f3 -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN 0x0089 -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B 0x009b -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103 0x0103 -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c 0x010c -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F 0x016f #define USB_VENDOR_ID_ELECOM 0x056e #define USB_DEVICE_ID_ELECOM_BM084 0x0061 diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c index 94bb137..b1af008 100644 --- a/drivers/hid/usbhid/hid-quirks.c +++ b/drivers/hid/usbhid/hid-quirks.c @@ -72,11 +72,7 @@ static const struct hid_blacklist { { USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE, HID_QUIRK_ALWAYS_POLL }, { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_WIIU, HID_QUIRK_MULTI_INPUT }, - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN, HID_QUIRK_ALWAYS_POLL }, - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B, HID_QUIRK_ALWAYS_POLL }, - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103, HID_QUIRK_ALWAYS_POLL }, - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c, HID_QUIRK_ALWAYS_POLL }, - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F, HID_QUIRK_ALWAYS_POLL }, + { USB_VENDOR_ID_ELAN, HID_ANY_ID, HID_QUIRK_ALWAYS_POLL }, { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, { 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 }, @@ -339,7 +335,8 @@ static const struct hid_blacklist *usbhid_exists_squirk(const u16 idVendor, for (; hid_blacklist[n].idVendor; n++) if (hid_blacklist[n].idVendor == idVendor && - hid_blacklist[n].idProduct == idProduct) + (hid_blacklist[n].idProduct == HID_ANY_ID || + hid_blacklist[n].idProduct == idProduct)) bl_entry = &hid_blacklist[n]; if (bl_entry != NULL) -- 2.4.3 ^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH v4 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices @ 2015-11-24 15:02 ` Adrien Vergé 0 siblings, 0 replies; 32+ messages in thread From: Adrien Vergé @ 2015-11-24 15:02 UTC (permalink / raw) To: Benjamin Tissoires, Oliver Neukum, Jiri Kosina Cc: Greg Kroah-Hartman, Logan Gunthorpe, Hans de Goede, Vincent Palatin, Adrien Vergé, Macpaul Lin, Adel Gadllah, linux-input, linux-kernel, linux-usb All ELAN hid devices seem to require the ALWAYS_POLL quirk. Let's use this quirk for all devices from this vendor, rather than maintaining a list of all its known product IDs. Tested-by: Adrien Vergé <adrienverge@gmail.com> Signed-off-by: Adrien Vergé <adrienverge@gmail.com> --- drivers/hid/hid-ids.h | 5 ----- drivers/hid/usbhid/hid-quirks.c | 9 +++------ 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index ac1feea..3c7e0c3 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -316,11 +316,6 @@ #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001 0xa001 #define USB_VENDOR_ID_ELAN 0x04f3 -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN 0x0089 -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B 0x009b -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103 0x0103 -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c 0x010c -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F 0x016f #define USB_VENDOR_ID_ELECOM 0x056e #define USB_DEVICE_ID_ELECOM_BM084 0x0061 diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c index 94bb137..b1af008 100644 --- a/drivers/hid/usbhid/hid-quirks.c +++ b/drivers/hid/usbhid/hid-quirks.c @@ -72,11 +72,7 @@ static const struct hid_blacklist { { USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE, HID_QUIRK_ALWAYS_POLL }, { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_WIIU, HID_QUIRK_MULTI_INPUT }, - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN, HID_QUIRK_ALWAYS_POLL }, - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B, HID_QUIRK_ALWAYS_POLL }, - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103, HID_QUIRK_ALWAYS_POLL }, - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c, HID_QUIRK_ALWAYS_POLL }, - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F, HID_QUIRK_ALWAYS_POLL }, + { USB_VENDOR_ID_ELAN, HID_ANY_ID, HID_QUIRK_ALWAYS_POLL }, { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, { 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 }, @@ -339,7 +335,8 @@ static const struct hid_blacklist *usbhid_exists_squirk(const u16 idVendor, for (; hid_blacklist[n].idVendor; n++) if (hid_blacklist[n].idVendor == idVendor && - hid_blacklist[n].idProduct == idProduct) + (hid_blacklist[n].idProduct == HID_ANY_ID || + hid_blacklist[n].idProduct == idProduct)) bl_entry = &hid_blacklist[n]; if (bl_entry != NULL) -- 2.4.3 -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 32+ messages in thread
* Re: [PATCH v4 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices 2015-11-24 15:02 ` Adrien Vergé @ 2015-11-24 16:11 ` Benjamin Tissoires -1 siblings, 0 replies; 32+ messages in thread From: Benjamin Tissoires @ 2015-11-24 16:11 UTC (permalink / raw) To: Adrien Vergé Cc: Oliver Neukum, Jiri Kosina, Greg Kroah-Hartman, Logan Gunthorpe, Hans de Goede, Vincent Palatin, Macpaul Lin, Adel Gadllah, linux-input, linux-kernel, linux-usb On Tue, Nov 24, 2015 at 4:02 PM, Adrien Vergé <adrienverge@gmail.com> wrote: > All ELAN hid devices seem to require the ALWAYS_POLL quirk. Let's use > this quirk for all devices from this vendor, rather than maintaining a > list of all its known product IDs. > > Tested-by: Adrien Vergé <adrienverge@gmail.com> > Signed-off-by: Adrien Vergé <adrienverge@gmail.com> > --- The HID part is: Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Cheers, Benjamin > drivers/hid/hid-ids.h | 5 ----- > drivers/hid/usbhid/hid-quirks.c | 9 +++------ > 2 files changed, 3 insertions(+), 11 deletions(-) > > diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h > index ac1feea..3c7e0c3 100644 > --- a/drivers/hid/hid-ids.h > +++ b/drivers/hid/hid-ids.h > @@ -316,11 +316,6 @@ > #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001 0xa001 > > #define USB_VENDOR_ID_ELAN 0x04f3 > -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN 0x0089 > -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B 0x009b > -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103 0x0103 > -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c 0x010c > -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F 0x016f > > #define USB_VENDOR_ID_ELECOM 0x056e > #define USB_DEVICE_ID_ELECOM_BM084 0x0061 > diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c > index 94bb137..b1af008 100644 > --- a/drivers/hid/usbhid/hid-quirks.c > +++ b/drivers/hid/usbhid/hid-quirks.c > @@ -72,11 +72,7 @@ static const struct hid_blacklist { > { USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE, HID_QUIRK_ALWAYS_POLL }, > { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, > { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_WIIU, HID_QUIRK_MULTI_INPUT }, > - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN, HID_QUIRK_ALWAYS_POLL }, > - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B, HID_QUIRK_ALWAYS_POLL }, > - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103, HID_QUIRK_ALWAYS_POLL }, > - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c, HID_QUIRK_ALWAYS_POLL }, > - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F, HID_QUIRK_ALWAYS_POLL }, > + { USB_VENDOR_ID_ELAN, HID_ANY_ID, HID_QUIRK_ALWAYS_POLL }, > { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, > { 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 }, > @@ -339,7 +335,8 @@ static const struct hid_blacklist *usbhid_exists_squirk(const u16 idVendor, > > for (; hid_blacklist[n].idVendor; n++) > if (hid_blacklist[n].idVendor == idVendor && > - hid_blacklist[n].idProduct == idProduct) > + (hid_blacklist[n].idProduct == HID_ANY_ID || > + hid_blacklist[n].idProduct == idProduct)) > bl_entry = &hid_blacklist[n]; > > if (bl_entry != NULL) > -- > 2.4.3 > ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH v4 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices @ 2015-11-24 16:11 ` Benjamin Tissoires 0 siblings, 0 replies; 32+ messages in thread From: Benjamin Tissoires @ 2015-11-24 16:11 UTC (permalink / raw) To: Adrien Vergé Cc: Oliver Neukum, Jiri Kosina, Greg Kroah-Hartman, Logan Gunthorpe, Hans de Goede, Vincent Palatin, Macpaul Lin, Adel Gadllah, linux-input, linux-kernel, linux-usb On Tue, Nov 24, 2015 at 4:02 PM, Adrien Vergé <adrienverge@gmail.com> wrote: > All ELAN hid devices seem to require the ALWAYS_POLL quirk. Let's use > this quirk for all devices from this vendor, rather than maintaining a > list of all its known product IDs. > > Tested-by: Adrien Vergé <adrienverge@gmail.com> > Signed-off-by: Adrien Vergé <adrienverge@gmail.com> > --- The HID part is: Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Cheers, Benjamin > drivers/hid/hid-ids.h | 5 ----- > drivers/hid/usbhid/hid-quirks.c | 9 +++------ > 2 files changed, 3 insertions(+), 11 deletions(-) > > diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h > index ac1feea..3c7e0c3 100644 > --- a/drivers/hid/hid-ids.h > +++ b/drivers/hid/hid-ids.h > @@ -316,11 +316,6 @@ > #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001 0xa001 > > #define USB_VENDOR_ID_ELAN 0x04f3 > -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN 0x0089 > -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B 0x009b > -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103 0x0103 > -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c 0x010c > -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F 0x016f > > #define USB_VENDOR_ID_ELECOM 0x056e > #define USB_DEVICE_ID_ELECOM_BM084 0x0061 > diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c > index 94bb137..b1af008 100644 > --- a/drivers/hid/usbhid/hid-quirks.c > +++ b/drivers/hid/usbhid/hid-quirks.c > @@ -72,11 +72,7 @@ static const struct hid_blacklist { > { USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE, HID_QUIRK_ALWAYS_POLL }, > { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, > { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_WIIU, HID_QUIRK_MULTI_INPUT }, > - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN, HID_QUIRK_ALWAYS_POLL }, > - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B, HID_QUIRK_ALWAYS_POLL }, > - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103, HID_QUIRK_ALWAYS_POLL }, > - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c, HID_QUIRK_ALWAYS_POLL }, > - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F, HID_QUIRK_ALWAYS_POLL }, > + { USB_VENDOR_ID_ELAN, HID_ANY_ID, HID_QUIRK_ALWAYS_POLL }, > { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, > { 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 }, > @@ -339,7 +335,8 @@ static const struct hid_blacklist *usbhid_exists_squirk(const u16 idVendor, > > for (; hid_blacklist[n].idVendor; n++) > if (hid_blacklist[n].idVendor == idVendor && > - hid_blacklist[n].idProduct == idProduct) > + (hid_blacklist[n].idProduct == HID_ANY_ID || > + hid_blacklist[n].idProduct == idProduct)) > bl_entry = &hid_blacklist[n]; > > if (bl_entry != NULL) > -- > 2.4.3 > -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH v4 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices 2015-11-24 15:02 ` Adrien Vergé @ 2015-11-24 16:41 ` kbuild test robot -1 siblings, 0 replies; 32+ messages in thread From: kbuild test robot @ 2015-11-24 16:41 UTC (permalink / raw) To: Adrien Vergé Cc: kbuild-all, Benjamin Tissoires, Oliver Neukum, Jiri Kosina, Greg Kroah-Hartman, Logan Gunthorpe, Hans de Goede, Vincent Palatin, Adrien Vergé, Macpaul Lin, Adel Gadllah, linux-input, linux-kernel, linux-usb [-- Attachment #1: Type: text/plain, Size: 2032 bytes --] Hi Adrien, [auto build test WARNING on hid/for-next] [also build test WARNING on v4.4-rc2 next-20151124] url: https://github.com/0day-ci/linux/commits/Adrien-Verg/Fixes-for-ELAN-touchscreens/20151124-230537 base: https://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git for-next config: avr32-hammerhead_defconfig (attached as .config) reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=avr32 All warnings (new ones prefixed by >>): drivers/hid/usbhid/hid-quirks.c: In function 'usbhid_exists_squirk': >> drivers/hid/usbhid/hid-quirks.c:339: warning: comparison is always false due to limited range of data type vim +339 drivers/hid/usbhid/hid-quirks.c 323 * @idProduct: the 16-bit USB product ID, in native byteorder 324 * 325 * Description: 326 * Given a USB vendor ID and product ID, return a pointer to 327 * the hid_blacklist entry associated with that device. 328 * 329 * Returns: pointer if quirk found, or NULL if no quirks found. 330 */ 331 static const struct hid_blacklist *usbhid_exists_squirk(const u16 idVendor, 332 const u16 idProduct) 333 { 334 const struct hid_blacklist *bl_entry = NULL; 335 int n = 0; 336 337 for (; hid_blacklist[n].idVendor; n++) 338 if (hid_blacklist[n].idVendor == idVendor && > 339 (hid_blacklist[n].idProduct == HID_ANY_ID || 340 hid_blacklist[n].idProduct == idProduct)) 341 bl_entry = &hid_blacklist[n]; 342 343 if (bl_entry != NULL) 344 dbg_hid("Found squirk 0x%x for USB HID vendor 0x%hx prod 0x%hx\n", 345 bl_entry->quirks, bl_entry->idVendor, 346 bl_entry->idProduct); 347 return bl_entry; --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation [-- Attachment #2: .config.gz --] [-- Type: application/octet-stream, Size: 14302 bytes --] ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH v4 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices @ 2015-11-24 16:41 ` kbuild test robot 0 siblings, 0 replies; 32+ messages in thread From: kbuild test robot @ 2015-11-24 16:41 UTC (permalink / raw) Cc: kbuild-all, Benjamin Tissoires, Oliver Neukum, Jiri Kosina, Greg Kroah-Hartman, Logan Gunthorpe, Hans de Goede, Vincent Palatin, Adrien Vergé, Macpaul Lin, Adel Gadllah, linux-input, linux-kernel, linux-usb [-- Attachment #1: Type: text/plain, Size: 2032 bytes --] Hi Adrien, [auto build test WARNING on hid/for-next] [also build test WARNING on v4.4-rc2 next-20151124] url: https://github.com/0day-ci/linux/commits/Adrien-Verg/Fixes-for-ELAN-touchscreens/20151124-230537 base: https://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git for-next config: avr32-hammerhead_defconfig (attached as .config) reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=avr32 All warnings (new ones prefixed by >>): drivers/hid/usbhid/hid-quirks.c: In function 'usbhid_exists_squirk': >> drivers/hid/usbhid/hid-quirks.c:339: warning: comparison is always false due to limited range of data type vim +339 drivers/hid/usbhid/hid-quirks.c 323 * @idProduct: the 16-bit USB product ID, in native byteorder 324 * 325 * Description: 326 * Given a USB vendor ID and product ID, return a pointer to 327 * the hid_blacklist entry associated with that device. 328 * 329 * Returns: pointer if quirk found, or NULL if no quirks found. 330 */ 331 static const struct hid_blacklist *usbhid_exists_squirk(const u16 idVendor, 332 const u16 idProduct) 333 { 334 const struct hid_blacklist *bl_entry = NULL; 335 int n = 0; 336 337 for (; hid_blacklist[n].idVendor; n++) 338 if (hid_blacklist[n].idVendor == idVendor && > 339 (hid_blacklist[n].idProduct == HID_ANY_ID || 340 hid_blacklist[n].idProduct == idProduct)) 341 bl_entry = &hid_blacklist[n]; 342 343 if (bl_entry != NULL) 344 dbg_hid("Found squirk 0x%x for USB HID vendor 0x%hx prod 0x%hx\n", 345 bl_entry->quirks, bl_entry->idVendor, 346 bl_entry->idProduct); 347 return bl_entry; --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation [-- Attachment #2: .config.gz --] [-- Type: application/octet-stream, Size: 14302 bytes --] ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH v4 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices 2015-11-24 15:02 ` Adrien Vergé ` (2 preceding siblings ...) (?) @ 2015-12-01 18:21 ` Greg Kroah-Hartman -1 siblings, 0 replies; 32+ messages in thread From: Greg Kroah-Hartman @ 2015-12-01 18:21 UTC (permalink / raw) To: Adrien Vergé Cc: Benjamin Tissoires, Oliver Neukum, Jiri Kosina, Logan Gunthorpe, Hans de Goede, Vincent Palatin, Macpaul Lin, Adel Gadllah, linux-input, linux-kernel, linux-usb On Tue, Nov 24, 2015 at 04:02:05PM +0100, Adrien Vergé wrote: > All ELAN hid devices seem to require the ALWAYS_POLL quirk. Let's use > this quirk for all devices from this vendor, rather than maintaining a > list of all its known product IDs. > > Tested-by: Adrien Vergé <adrienverge@gmail.com> > Signed-off-by: Adrien Vergé <adrienverge@gmail.com> > --- > drivers/hid/hid-ids.h | 5 ----- > drivers/hid/usbhid/hid-quirks.c | 9 +++------ > 2 files changed, 3 insertions(+), 11 deletions(-) > > diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h > index ac1feea..3c7e0c3 100644 > --- a/drivers/hid/hid-ids.h > +++ b/drivers/hid/hid-ids.h > @@ -316,11 +316,6 @@ > #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001 0xa001 > > #define USB_VENDOR_ID_ELAN 0x04f3 > -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN 0x0089 > -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B 0x009b > -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103 0x0103 > -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c 0x010c > -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F 0x016f > > #define USB_VENDOR_ID_ELECOM 0x056e > #define USB_DEVICE_ID_ELECOM_BM084 0x0061 > diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c > index 94bb137..b1af008 100644 > --- a/drivers/hid/usbhid/hid-quirks.c > +++ b/drivers/hid/usbhid/hid-quirks.c > @@ -72,11 +72,7 @@ static const struct hid_blacklist { > { USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE, HID_QUIRK_ALWAYS_POLL }, > { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, > { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_WIIU, HID_QUIRK_MULTI_INPUT }, > - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN, HID_QUIRK_ALWAYS_POLL }, > - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B, HID_QUIRK_ALWAYS_POLL }, > - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103, HID_QUIRK_ALWAYS_POLL }, > - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c, HID_QUIRK_ALWAYS_POLL }, > - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F, HID_QUIRK_ALWAYS_POLL }, > + { USB_VENDOR_ID_ELAN, HID_ANY_ID, HID_QUIRK_ALWAYS_POLL }, > { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, > { 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 }, > @@ -339,7 +335,8 @@ static const struct hid_blacklist *usbhid_exists_squirk(const u16 idVendor, > > for (; hid_blacklist[n].idVendor; n++) > if (hid_blacklist[n].idVendor == idVendor && > - hid_blacklist[n].idProduct == idProduct) > + (hid_blacklist[n].idProduct == HID_ANY_ID || > + hid_blacklist[n].idProduct == idProduct)) Please fix the warning the kbuild infrastructure told you about here. thanks, greg k-h ^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH v5 0/2] Fixes for ELAN touchscreens 2015-11-22 4:06 ` Adrien Vergé ` (4 preceding siblings ...) (?) @ 2015-12-01 18:56 ` Adrien Vergé 2015-12-01 18:56 ` Adrien Vergé 2015-12-01 18:56 ` [PATCH v5 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices Adrien Vergé -1 siblings, 2 replies; 32+ messages in thread From: Adrien Vergé @ 2015-12-01 18:56 UTC (permalink / raw) To: Benjamin Tissoires, Oliver Neukum, Jiri Kosina, Greg Kroah-Hartman Cc: Logan Gunthorpe, Hans de Goede, Vincent Palatin, Adrien Vergé, Macpaul Lin, Adel Gadllah, linux-input, linux-kernel, linux-usb This is the fifth version of a patchset which originally aimed to fix a buggy touchscreen from ELAN Microelectronics. Changes since v4: - Cast HID_ANY_ID to an __u16 so to keep gcc happy on AVR32 arch. Changes since v3: - Use HID_ANY_ID to define a vendor-ID-global quirk, as suggested by Benjamin Tissoires. Changes since v2: - Apply ALWAYS_POLL quirk to all ELAN devices by default, as suggested by Jiri Kosina and Oliver Neukum. Adrien Vergé (2): USB: quirks: Fix another ELAN touchscreen USB: quirks: Apply ALWAYS_POLL to all ELAN devices drivers/hid/hid-ids.h | 5 ----- drivers/hid/usbhid/hid-quirks.c | 9 +++------ drivers/usb/core/quirks.c | 3 +++ 3 files changed, 6 insertions(+), 11 deletions(-) -- 2.4.3 ^ permalink raw reply [flat|nested] 32+ messages in thread
* [PATCH v5 1/2] USB: quirks: Fix another ELAN touchscreen 2015-12-01 18:56 ` [PATCH v5 0/2] Fixes for ELAN touchscreens Adrien Vergé @ 2015-12-01 18:56 ` Adrien Vergé 2015-12-01 18:56 ` [PATCH v5 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices Adrien Vergé 1 sibling, 0 replies; 32+ messages in thread From: Adrien Vergé @ 2015-12-01 18:56 UTC (permalink / raw) To: Benjamin Tissoires, Oliver Neukum, Jiri Kosina, Greg Kroah-Hartman Cc: Logan Gunthorpe, Hans de Goede, Vincent Palatin, Adrien Vergé, Macpaul Lin, Adel Gadllah, linux-input, linux-kernel, linux-usb Like other buggy models that had their fixes [1], the touchscreen with id 04f3:21b8 from ELAN Microelectronics needs the device-qualifier quirk. Otherwise, it fails to respond, blocks the boot for a random amount of time and pollutes dmesg with: [ 2887.373196] usb 1-5: new full-speed USB device number 41 using xhci_hcd [ 2889.502000] usb 1-5: unable to read config index 0 descriptor/start: -71 [ 2889.502005] usb 1-5: can't read configurations, error -71 [ 2889.654571] usb 1-5: new full-speed USB device number 42 using xhci_hcd [ 2891.783438] usb 1-5: unable to read config index 0 descriptor/start: -71 [ 2891.783443] usb 1-5: can't read configurations, error -71 [1]: See commits c68929f, 876af5d, d749947, a32c99e and dc703ec. Tested-by: Adrien Vergé <adrienverge@gmail.com> Signed-off-by: Adrien Vergé <adrienverge@gmail.com> --- drivers/usb/core/quirks.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c index f5a3819..fcd6ac0 100644 --- a/drivers/usb/core/quirks.c +++ b/drivers/usb/core/quirks.c @@ -125,6 +125,9 @@ static const struct usb_device_id usb_quirk_list[] = { { USB_DEVICE(0x04f3, 0x016f), .driver_info = USB_QUIRK_DEVICE_QUALIFIER }, + { USB_DEVICE(0x04f3, 0x21b8), .driver_info = + USB_QUIRK_DEVICE_QUALIFIER }, + /* Roland SC-8820 */ { USB_DEVICE(0x0582, 0x0007), .driver_info = USB_QUIRK_RESET_RESUME }, -- 2.4.3 ^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH v5 1/2] USB: quirks: Fix another ELAN touchscreen @ 2015-12-01 18:56 ` Adrien Vergé 0 siblings, 0 replies; 32+ messages in thread From: Adrien Vergé @ 2015-12-01 18:56 UTC (permalink / raw) To: Benjamin Tissoires, Oliver Neukum, Jiri Kosina, Greg Kroah-Hartman Cc: Logan Gunthorpe, Hans de Goede, Vincent Palatin, Adrien Vergé, Macpaul Lin, Adel Gadllah, linux-input, linux-kernel, linux-usb Like other buggy models that had their fixes [1], the touchscreen with id 04f3:21b8 from ELAN Microelectronics needs the device-qualifier quirk. Otherwise, it fails to respond, blocks the boot for a random amount of time and pollutes dmesg with: [ 2887.373196] usb 1-5: new full-speed USB device number 41 using xhci_hcd [ 2889.502000] usb 1-5: unable to read config index 0 descriptor/start: -71 [ 2889.502005] usb 1-5: can't read configurations, error -71 [ 2889.654571] usb 1-5: new full-speed USB device number 42 using xhci_hcd [ 2891.783438] usb 1-5: unable to read config index 0 descriptor/start: -71 [ 2891.783443] usb 1-5: can't read configurations, error -71 [1]: See commits c68929f, 876af5d, d749947, a32c99e and dc703ec. Tested-by: Adrien Vergé <adrienverge@gmail.com> Signed-off-by: Adrien Vergé <adrienverge@gmail.com> --- drivers/usb/core/quirks.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c index f5a3819..fcd6ac0 100644 --- a/drivers/usb/core/quirks.c +++ b/drivers/usb/core/quirks.c @@ -125,6 +125,9 @@ static const struct usb_device_id usb_quirk_list[] = { { USB_DEVICE(0x04f3, 0x016f), .driver_info = USB_QUIRK_DEVICE_QUALIFIER }, + { USB_DEVICE(0x04f3, 0x21b8), .driver_info = + USB_QUIRK_DEVICE_QUALIFIER }, + /* Roland SC-8820 */ { USB_DEVICE(0x0582, 0x0007), .driver_info = USB_QUIRK_RESET_RESUME }, -- 2.4.3 -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 32+ messages in thread
* [PATCH v5 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices 2015-12-01 18:56 ` [PATCH v5 0/2] Fixes for ELAN touchscreens Adrien Vergé 2015-12-01 18:56 ` Adrien Vergé @ 2015-12-01 18:56 ` Adrien Vergé 2015-12-01 22:09 ` Jiri Kosina 1 sibling, 1 reply; 32+ messages in thread From: Adrien Vergé @ 2015-12-01 18:56 UTC (permalink / raw) To: Benjamin Tissoires, Oliver Neukum, Jiri Kosina, Greg Kroah-Hartman Cc: Logan Gunthorpe, Hans de Goede, Vincent Palatin, Adrien Vergé, Macpaul Lin, Adel Gadllah, linux-input, linux-kernel, linux-usb All ELAN hid devices seem to require the ALWAYS_POLL quirk. Let's use this quirk for all devices from this vendor, rather than maintaining a list of all its known product IDs. Tested-by: Adrien Vergé <adrienverge@gmail.com> Signed-off-by: Adrien Vergé <adrienverge@gmail.com> --- drivers/hid/hid-ids.h | 5 ----- drivers/hid/usbhid/hid-quirks.c | 9 +++------ 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index ac1feea..3c7e0c3 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -316,11 +316,6 @@ #define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_A001 0xa001 #define USB_VENDOR_ID_ELAN 0x04f3 -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN 0x0089 -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B 0x009b -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103 0x0103 -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c 0x010c -#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F 0x016f #define USB_VENDOR_ID_ELECOM 0x056e #define USB_DEVICE_ID_ELECOM_BM084 0x0061 diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c index 94bb137..78fc94a 100644 --- a/drivers/hid/usbhid/hid-quirks.c +++ b/drivers/hid/usbhid/hid-quirks.c @@ -72,11 +72,7 @@ static const struct hid_blacklist { { USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE, HID_QUIRK_ALWAYS_POLL }, { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_WIIU, HID_QUIRK_MULTI_INPUT }, - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN, HID_QUIRK_ALWAYS_POLL }, - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B, HID_QUIRK_ALWAYS_POLL }, - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103, HID_QUIRK_ALWAYS_POLL }, - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c, HID_QUIRK_ALWAYS_POLL }, - { USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F, HID_QUIRK_ALWAYS_POLL }, + { USB_VENDOR_ID_ELAN, HID_ANY_ID, HID_QUIRK_ALWAYS_POLL }, { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, { 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 }, @@ -339,7 +335,8 @@ static const struct hid_blacklist *usbhid_exists_squirk(const u16 idVendor, for (; hid_blacklist[n].idVendor; n++) if (hid_blacklist[n].idVendor == idVendor && - hid_blacklist[n].idProduct == idProduct) + (hid_blacklist[n].idProduct == (__u16) HID_ANY_ID || + hid_blacklist[n].idProduct == idProduct)) bl_entry = &hid_blacklist[n]; if (bl_entry != NULL) -- 2.4.3 ^ permalink raw reply related [flat|nested] 32+ messages in thread
* Re: [PATCH v5 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices @ 2015-12-01 22:09 ` Jiri Kosina 0 siblings, 0 replies; 32+ messages in thread From: Jiri Kosina @ 2015-12-01 22:09 UTC (permalink / raw) To: Adrien Vergé Cc: Benjamin Tissoires, Oliver Neukum, Greg Kroah-Hartman, Logan Gunthorpe, Hans de Goede, Vincent Palatin, Macpaul Lin, Adel Gadllah, linux-input, linux-kernel, linux-usb On Tue, 1 Dec 2015, Adrien Vergé wrote: > All ELAN hid devices seem to require the ALWAYS_POLL quirk. Let's use > this quirk for all devices from this vendor, rather than maintaining a > list of all its known product IDs. > > Tested-by: Adrien Vergé <adrienverge@gmail.com> > Signed-off-by: Adrien Vergé <adrienverge@gmail.com> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Reviewed-by: Jiri Kosina <jkosina@suse.cz> Greg, I guess it makes sense to take both 1/2 and 2/2 together as a whole. Would you mind adding the tags above and taking it through usb git tree? Alternatively I can take it through my tree if you Ack the usb part. Thanks, -- Jiri Kosina SUSE Labs ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH v5 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices @ 2015-12-01 22:09 ` Jiri Kosina 0 siblings, 0 replies; 32+ messages in thread From: Jiri Kosina @ 2015-12-01 22:09 UTC (permalink / raw) To: Adrien Vergé Cc: Benjamin Tissoires, Oliver Neukum, Greg Kroah-Hartman, Logan Gunthorpe, Hans de Goede, Vincent Palatin, Macpaul Lin, Adel Gadllah, linux-input-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA, linux-usb-u79uwXL29TY76Z2rM5mHXA On Tue, 1 Dec 2015, Adrien Vergé wrote: > All ELAN hid devices seem to require the ALWAYS_POLL quirk. Let's use > this quirk for all devices from this vendor, rather than maintaining a > list of all its known product IDs. > > Tested-by: Adrien Vergé <adrienverge-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > Signed-off-by: Adrien Vergé <adrienverge-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> Reviewed-by: Benjamin Tissoires <benjamin.tissoires-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> Reviewed-by: Jiri Kosina <jkosina-AlSwsSmVLrQ@public.gmane.org> Greg, I guess it makes sense to take both 1/2 and 2/2 together as a whole. Would you mind adding the tags above and taking it through usb git tree? Alternatively I can take it through my tree if you Ack the usb part. Thanks, -- Jiri Kosina SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH v5 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices 2015-12-01 22:09 ` Jiri Kosina @ 2015-12-01 22:11 ` Greg Kroah-Hartman -1 siblings, 0 replies; 32+ messages in thread From: Greg Kroah-Hartman @ 2015-12-01 22:11 UTC (permalink / raw) To: Jiri Kosina Cc: Adrien Vergé, Benjamin Tissoires, Oliver Neukum, Logan Gunthorpe, Hans de Goede, Vincent Palatin, Macpaul Lin, Adel Gadllah, linux-input, linux-kernel, linux-usb On Tue, Dec 01, 2015 at 11:09:23PM +0100, Jiri Kosina wrote: > On Tue, 1 Dec 2015, Adrien Vergé wrote: > > > All ELAN hid devices seem to require the ALWAYS_POLL quirk. Let's use > > this quirk for all devices from this vendor, rather than maintaining a > > list of all its known product IDs. > > > > Tested-by: Adrien Vergé <adrienverge@gmail.com> > > Signed-off-by: Adrien Vergé <adrienverge@gmail.com> > > Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> > Reviewed-by: Jiri Kosina <jkosina@suse.cz> > > Greg, I guess it makes sense to take both 1/2 and 2/2 together as a whole. > Would you mind adding the tags above and taking it through usb git tree? > > Alternatively I can take it through my tree if you Ack the usb part. Sure, I'll take it as I've already applied the non-HID patch :) thanks, greg k-h ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH v5 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices @ 2015-12-01 22:11 ` Greg Kroah-Hartman 0 siblings, 0 replies; 32+ messages in thread From: Greg Kroah-Hartman @ 2015-12-01 22:11 UTC (permalink / raw) To: Jiri Kosina Cc: Adrien Vergé, Benjamin Tissoires, Oliver Neukum, Logan Gunthorpe, Hans de Goede, Vincent Palatin, Macpaul Lin, Adel Gadllah, linux-input, linux-kernel, linux-usb On Tue, Dec 01, 2015 at 11:09:23PM +0100, Jiri Kosina wrote: > On Tue, 1 Dec 2015, Adrien Vergé wrote: > > > All ELAN hid devices seem to require the ALWAYS_POLL quirk. Let's use > > this quirk for all devices from this vendor, rather than maintaining a > > list of all its known product IDs. > > > > Tested-by: Adrien Vergé <adrienverge@gmail.com> > > Signed-off-by: Adrien Vergé <adrienverge@gmail.com> > > Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> > Reviewed-by: Jiri Kosina <jkosina@suse.cz> > > Greg, I guess it makes sense to take both 1/2 and 2/2 together as a whole. > Would you mind adding the tags above and taking it through usb git tree? > > Alternatively I can take it through my tree if you Ack the usb part. Sure, I'll take it as I've already applied the non-HID patch :) thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH v5 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices 2015-12-01 22:11 ` Greg Kroah-Hartman (?) @ 2015-12-02 8:53 ` Adrien Vergé -1 siblings, 0 replies; 32+ messages in thread From: Adrien Vergé @ 2015-12-02 8:53 UTC (permalink / raw) To: Greg Kroah-Hartman Cc: Jiri Kosina, Benjamin Tissoires, Oliver Neukum, Logan Gunthorpe, Hans de Goede, Vincent Palatin, Macpaul Lin, Adel Gadllah, linux-input, linux-kernel, linux-usb Thank you all for your help on this. Adrien ^ permalink raw reply [flat|nested] 32+ messages in thread
end of thread, other threads:[~2015-12-02 8:53 UTC | newest] Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2015-11-22 4:06 [PATCH] USB: quirks: Fix another ELAN touchscreen Adrien Vergé 2015-11-22 4:06 ` Adrien Vergé 2015-11-23 14:52 ` Jiri Kosina 2015-11-23 14:52 ` Jiri Kosina 2015-11-23 17:37 ` Adrien Vergé 2015-11-24 7:29 ` Oliver Neukum 2015-11-23 17:43 ` [PATCH v2] " Adrien Vergé 2015-11-24 13:49 ` [PATCH v3 0/2] Fixes for ELAN touchscreens Adrien Vergé 2015-11-24 13:49 ` [PATCH v3 1/2] USB: quirks: Fix another ELAN touchscreen Adrien Vergé 2015-11-24 13:49 ` [PATCH v3 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices Adrien Vergé 2015-11-24 14:11 ` Benjamin Tissoires 2015-11-24 14:11 ` Benjamin Tissoires 2015-11-24 14:34 ` Adrien Vergé 2015-11-24 15:02 ` [PATCH v4 0/2] Fixes for ELAN touchscreens Adrien Vergé 2015-11-24 15:02 ` Adrien Vergé 2015-11-24 15:02 ` [PATCH v4 1/2] USB: quirks: Fix another ELAN touchscreen Adrien Vergé 2015-11-24 15:02 ` [PATCH v4 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices Adrien Vergé 2015-11-24 15:02 ` Adrien Vergé 2015-11-24 16:11 ` Benjamin Tissoires 2015-11-24 16:11 ` Benjamin Tissoires 2015-11-24 16:41 ` kbuild test robot 2015-11-24 16:41 ` kbuild test robot 2015-12-01 18:21 ` Greg Kroah-Hartman 2015-12-01 18:56 ` [PATCH v5 0/2] Fixes for ELAN touchscreens Adrien Vergé 2015-12-01 18:56 ` [PATCH v5 1/2] USB: quirks: Fix another ELAN touchscreen Adrien Vergé 2015-12-01 18:56 ` Adrien Vergé 2015-12-01 18:56 ` [PATCH v5 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices Adrien Vergé 2015-12-01 22:09 ` Jiri Kosina 2015-12-01 22:09 ` Jiri Kosina 2015-12-01 22:11 ` Greg Kroah-Hartman 2015-12-01 22:11 ` Greg Kroah-Hartman 2015-12-02 8:53 ` Adrien Vergé
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.