2013-08-30 18:47:49

by Vasily Titskiy

[permalink] [raw]
Subject: [PATCH] HID: usbhid: quirk for N-Trig DuoSense Touch Screen

The DuoSense touchscreen device causes a 10 second timeout. This fix
removes the delay.

Signed-off-by: Vasily Titskiy <[email protected]>
---
drivers/hid/hid-ids.h | 2 ++
drivers/hid/usbhid/hid-quirks.c | 3 +++
2 files changed, 5 insertions(+)

diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 2168885..c3929ea 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -898,4 +898,6 @@
#define USB_VENDOR_ID_PRIMAX 0x0461
#define USB_DEVICE_ID_PRIMAX_KEYBOARD 0x4e05

+#define USB_DEVICE_ID_NTRIG_DUOSENSE 0x1500
+
#endif
diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c
index 19b8360..3fd4dfd 100644
--- a/drivers/hid/usbhid/hid-quirks.c
+++ b/drivers/hid/usbhid/hid-quirks.c
@@ -89,6 +89,9 @@ static const struct hid_blacklist {
{ USB_VENDOR_ID_SYMBOL, USB_DEVICE_ID_SYMBOL_SCANNER_2, HID_QUIRK_NOGET },
{ USB_VENDOR_ID_TPV, USB_DEVICE_ID_TPV_OPTICAL_TOUCHSCREEN, HID_QUIRK_NOGET },
{ USB_VENDOR_ID_TURBOX, USB_DEVICE_ID_TURBOX_KEYBOARD, HID_QUIRK_NOGET },
+
+ { USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_DUOSENSE, HID_QUIRK_NOGET },
+
{ USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_TABLET_PF1209,
HID_QUIRK_MULTI_INPUT },
{ USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_TABLET_WP4030U,
HID_QUIRK_MULTI_INPUT },
{ USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_TABLET_KNA5,
HID_QUIRK_MULTI_INPUT },
--
1.7.10.4


2013-08-30 19:19:03

by Benjamin Tissoires

[permalink] [raw]
Subject: Re: [PATCH] HID: usbhid: quirk for N-Trig DuoSense Touch Screen

Hi,

first, for the next submission, do not forget to add Jiri (the HID
maintainer) in CC, otherwise there are huge chances that he will miss
your patch.

On Fri, Aug 30, 2013 at 8:47 PM, Vasily Titskiy <[email protected]> wrote:
> The DuoSense touchscreen device causes a 10 second timeout. This fix
> removes the delay.
>
> Signed-off-by: Vasily Titskiy <[email protected]>
> ---
> drivers/hid/hid-ids.h | 2 ++
> drivers/hid/usbhid/hid-quirks.c | 3 +++
> 2 files changed, 5 insertions(+)
>
> diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
> index 2168885..c3929ea 100644
> --- a/drivers/hid/hid-ids.h
> +++ b/drivers/hid/hid-ids.h
> @@ -898,4 +898,6 @@
> #define USB_VENDOR_ID_PRIMAX 0x0461
> #define USB_DEVICE_ID_PRIMAX_KEYBOARD 0x4e05
>
> +#define USB_DEVICE_ID_NTRIG_DUOSENSE 0x1500
> +

Please keep the list sorted. This define should go into the *_NTRIG_* block.

> #endif
> diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c
> index 19b8360..3fd4dfd 100644
> --- a/drivers/hid/usbhid/hid-quirks.c
> +++ b/drivers/hid/usbhid/hid-quirks.c
> @@ -89,6 +89,9 @@ static const struct hid_blacklist {
> { USB_VENDOR_ID_SYMBOL, USB_DEVICE_ID_SYMBOL_SCANNER_2, HID_QUIRK_NOGET },
> { USB_VENDOR_ID_TPV, USB_DEVICE_ID_TPV_OPTICAL_TOUCHSCREEN, HID_QUIRK_NOGET },
> { USB_VENDOR_ID_TURBOX, USB_DEVICE_ID_TURBOX_KEYBOARD, HID_QUIRK_NOGET },
> +

extra whitespace

> + { USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_DUOSENSE, HID_QUIRK_NOGET },

I'm sure we could try here the new quirk
HID_QUIRK_NO_INIT_INPUT_REPORTS, this would be more accurate I think.
At least can you test if HID_QUIRK_NO_INIT_REPORTS is enough?
HID_QUIRK_NOGET prevent all request from the host to the device, which
is a little bit too much in many cases.

> +

extra whitespace too.

Cheers,
Benjamin


> { USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_TABLET_PF1209,
> HID_QUIRK_MULTI_INPUT },
> { USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_TABLET_WP4030U,
> HID_QUIRK_MULTI_INPUT },
> { USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_TABLET_KNA5,
> HID_QUIRK_MULTI_INPUT },
> --
> 1.7.10.4
> --
> To unsubscribe from this list: send the line "unsubscribe linux-input" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html

2013-08-30 19:34:34

by Vasily Titskiy

[permalink] [raw]
Subject: Re: [PATCH] HID: usbhid: quirk for N-Trig DuoSense Touch Screen

Hi,

I've re-tested it with HID_QUIRK_NO_INIT_REPORTS parameter. Looks
fine, still no delays.

Shoud I re-format & re-submit the patch?
Vasily Titskiy


On Fri, Aug 30, 2013 at 3:18 PM, Benjamin Tissoires
<[email protected]> wrote:
> Hi,
>
> first, for the next submission, do not forget to add Jiri (the HID
> maintainer) in CC, otherwise there are huge chances that he will miss
> your patch.
>
> On Fri, Aug 30, 2013 at 8:47 PM, Vasily Titskiy <[email protected]> wrote:
>> The DuoSense touchscreen device causes a 10 second timeout. This fix
>> removes the delay.
>>
>> Signed-off-by: Vasily Titskiy <[email protected]>
>> ---
>> drivers/hid/hid-ids.h | 2 ++
>> drivers/hid/usbhid/hid-quirks.c | 3 +++
>> 2 files changed, 5 insertions(+)
>>
>> diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
>> index 2168885..c3929ea 100644
>> --- a/drivers/hid/hid-ids.h
>> +++ b/drivers/hid/hid-ids.h
>> @@ -898,4 +898,6 @@
>> #define USB_VENDOR_ID_PRIMAX 0x0461
>> #define USB_DEVICE_ID_PRIMAX_KEYBOARD 0x4e05
>>
>> +#define USB_DEVICE_ID_NTRIG_DUOSENSE 0x1500
>> +
>
> Please keep the list sorted. This define should go into the *_NTRIG_* block.
>
>> #endif
>> diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c
>> index 19b8360..3fd4dfd 100644
>> --- a/drivers/hid/usbhid/hid-quirks.c
>> +++ b/drivers/hid/usbhid/hid-quirks.c
>> @@ -89,6 +89,9 @@ static const struct hid_blacklist {
>> { USB_VENDOR_ID_SYMBOL, USB_DEVICE_ID_SYMBOL_SCANNER_2, HID_QUIRK_NOGET },
>> { USB_VENDOR_ID_TPV, USB_DEVICE_ID_TPV_OPTICAL_TOUCHSCREEN, HID_QUIRK_NOGET },
>> { USB_VENDOR_ID_TURBOX, USB_DEVICE_ID_TURBOX_KEYBOARD, HID_QUIRK_NOGET },
>> +
>
> extra whitespace
>
>> + { USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_DUOSENSE, HID_QUIRK_NOGET },
>
> I'm sure we could try here the new quirk
> HID_QUIRK_NO_INIT_INPUT_REPORTS, this would be more accurate I think.
> At least can you test if HID_QUIRK_NO_INIT_REPORTS is enough?
> HID_QUIRK_NOGET prevent all request from the host to the device, which
> is a little bit too much in many cases.
>
>> +
>
> extra whitespace too.
>
> Cheers,
> Benjamin
>
>
>> { USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_TABLET_PF1209,
>> HID_QUIRK_MULTI_INPUT },
>> { USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_TABLET_WP4030U,
>> HID_QUIRK_MULTI_INPUT },
>> { USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_TABLET_KNA5,
>> HID_QUIRK_MULTI_INPUT },
>> --
>> 1.7.10.4
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-input" in
>> the body of a message to [email protected]
>> More majordomo info at http://vger.kernel.org/majordomo-info.html

2013-08-30 21:31:09

by Benjamin Tissoires

[permalink] [raw]
Subject: Re: [PATCH] HID: usbhid: quirk for N-Trig DuoSense Touch Screen

On Fri, Aug 30, 2013 at 9:34 PM, Vasily Titskiy <[email protected]> wrote:
> Hi,
>
> I've re-tested it with HID_QUIRK_NO_INIT_REPORTS parameter. Looks
> fine, still no delays.
>

Yes please. Send a v2 so that Jiri can take it through his tree.

Cheers,
Benjamin

>
>
> On Fri, Aug 30, 2013 at 3:18 PM, Benjamin Tissoires
> <[email protected]> wrote:
>> Hi,
>>
>> first, for the next submission, do not forget to add Jiri (the HID
>> maintainer) in CC, otherwise there are huge chances that he will miss
>> your patch.
>>
>> On Fri, Aug 30, 2013 at 8:47 PM, Vasily Titskiy <[email protected]> wrote:
>>> The DuoSense touchscreen device causes a 10 second timeout. This fix
>>> removes the delay.
>>>
>>> Signed-off-by: Vasily Titskiy <[email protected]>
>>> ---
>>> drivers/hid/hid-ids.h | 2 ++
>>> drivers/hid/usbhid/hid-quirks.c | 3 +++
>>> 2 files changed, 5 insertions(+)
>>>
>>> diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
>>> index 2168885..c3929ea 100644
>>> --- a/drivers/hid/hid-ids.h
>>> +++ b/drivers/hid/hid-ids.h
>>> @@ -898,4 +898,6 @@
>>> #define USB_VENDOR_ID_PRIMAX 0x0461
>>> #define USB_DEVICE_ID_PRIMAX_KEYBOARD 0x4e05
>>>
>>> +#define USB_DEVICE_ID_NTRIG_DUOSENSE 0x1500
>>> +
>>
>> Please keep the list sorted. This define should go into the *_NTRIG_* block.
>>
>>> #endif
>>> diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c
>>> index 19b8360..3fd4dfd 100644
>>> --- a/drivers/hid/usbhid/hid-quirks.c
>>> +++ b/drivers/hid/usbhid/hid-quirks.c
>>> @@ -89,6 +89,9 @@ static const struct hid_blacklist {
>>> { USB_VENDOR_ID_SYMBOL, USB_DEVICE_ID_SYMBOL_SCANNER_2, HID_QUIRK_NOGET },
>>> { USB_VENDOR_ID_TPV, USB_DEVICE_ID_TPV_OPTICAL_TOUCHSCREEN, HID_QUIRK_NOGET },
>>> { USB_VENDOR_ID_TURBOX, USB_DEVICE_ID_TURBOX_KEYBOARD, HID_QUIRK_NOGET },
>>> +
>>
>> extra whitespace
>>
>>> + { USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_DUOSENSE, HID_QUIRK_NOGET },
>>
>> I'm sure we could try here the new quirk
>> HID_QUIRK_NO_INIT_INPUT_REPORTS, this would be more accurate I think.
>> At least can you test if HID_QUIRK_NO_INIT_REPORTS is enough?
>> HID_QUIRK_NOGET prevent all request from the host to the device, which
>> is a little bit too much in many cases.
>>
>>> +
>>
>> extra whitespace too.
>>
>> Cheers,
>> Benjamin
>>
>>
>>> { USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_TABLET_PF1209,
>>> HID_QUIRK_MULTI_INPUT },
>>> { USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_TABLET_WP4030U,
>>> HID_QUIRK_MULTI_INPUT },
>>> { USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_TABLET_KNA5,
>>> HID_QUIRK_MULTI_INPUT },
>>> --
>>> 1.7.10.4
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-input" in
>>> the body of a message to [email protected]
>>> More majordomo info at http://vger.kernel.org/majordomo-info.html