diff mbox

[2/2] HID: asus: Fix special function keys on T200TA

Message ID 20180105110919.30399-2-hdegoede@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Hans de Goede Jan. 5, 2018, 11:09 a.m. UTC
Just like on the T100TA the T200TA HID descriptors for the 0xff32
Asus vendor usage page need a small fixup. But on the T200TA the HID
descriptors are larger because they have descrriptors for one more
(unused) HID report appended.

Extend the T100TA descriptor fixup to also check for the T200TA's
descriptors size.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 drivers/hid/hid-asus.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Benjamin Tissoires Jan. 5, 2018, 5 p.m. UTC | #1
On Fri, Jan 5, 2018 at 12:09 PM, Hans de Goede <hdegoede@redhat.com> wrote:
> Just like on the T100TA the T200TA HID descriptors for the 0xff32
> Asus vendor usage page need a small fixup. But on the T200TA the HID
> descriptors are larger because they have descrriptors for one more
> (unused) HID report appended.
>
> Extend the T100TA descriptor fixup to also check for the T200TA's
> descriptors size.

Sigh, both are:
Acked-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>

Cheers,
Benjamin

>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
>  drivers/hid/hid-asus.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/hid/hid-asus.c b/drivers/hid/hid-asus.c
> index 07525bc99b6a..88b9703318e4 100644
> --- a/drivers/hid/hid-asus.c
> +++ b/drivers/hid/hid-asus.c
> @@ -715,9 +715,10 @@ static __u8 *asus_report_fixup(struct hid_device *hdev, __u8 *rdesc,
>                 hid_info(hdev, "Fixing up Asus notebook report descriptor\n");
>                 rdesc[55] = 0xdd;
>         }
> -       /* For the T100TA keyboard dock */
> +       /* For the T100TA/T200TA keyboard dock */
>         if (drvdata->quirks & QUIRK_T100_KEYBOARD &&
> -                *rsize == 76 && rdesc[73] == 0x81 && rdesc[74] == 0x01) {
> +                (*rsize == 76 || *rsize == 101) &&
> +                rdesc[73] == 0x81 && rdesc[74] == 0x01) {
>                 hid_info(hdev, "Fixing up Asus T100 keyb report descriptor\n");
>                 rdesc[74] &= ~HID_MAIN_ITEM_CONSTANT;
>         }
> --
> 2.14.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
Hans de Goede Jan. 11, 2018, 2:10 p.m. UTC | #2
Hi,

On 05-01-18 18:00, Benjamin Tissoires wrote:
> On Fri, Jan 5, 2018 at 12:09 PM, Hans de Goede <hdegoede@redhat.com> wrote:
>> Just like on the T100TA the T200TA HID descriptors for the 0xff32
>> Asus vendor usage page need a small fixup. But on the T200TA the HID
>> descriptors are larger because they have descrriptors for one more
>> (unused) HID report appended.
>>
>> Extend the T100TA descriptor fixup to also check for the T200TA's
>> descriptors size.
> 
> Sigh, both are:
> Acked-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>

Thanks. Jiri, what is the status of these ?

Regards,

Hans



>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>> ---
>>   drivers/hid/hid-asus.c | 5 +++--
>>   1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/hid/hid-asus.c b/drivers/hid/hid-asus.c
>> index 07525bc99b6a..88b9703318e4 100644
>> --- a/drivers/hid/hid-asus.c
>> +++ b/drivers/hid/hid-asus.c
>> @@ -715,9 +715,10 @@ static __u8 *asus_report_fixup(struct hid_device *hdev, __u8 *rdesc,
>>                  hid_info(hdev, "Fixing up Asus notebook report descriptor\n");
>>                  rdesc[55] = 0xdd;
>>          }
>> -       /* For the T100TA keyboard dock */
>> +       /* For the T100TA/T200TA keyboard dock */
>>          if (drvdata->quirks & QUIRK_T100_KEYBOARD &&
>> -                *rsize == 76 && rdesc[73] == 0x81 && rdesc[74] == 0x01) {
>> +                (*rsize == 76 || *rsize == 101) &&
>> +                rdesc[73] == 0x81 && rdesc[74] == 0x01) {
>>                  hid_info(hdev, "Fixing up Asus T100 keyb report descriptor\n");
>>                  rdesc[74] &= ~HID_MAIN_ITEM_CONSTANT;
>>          }
>> --
>> 2.14.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
Jiri Kosina Jan. 11, 2018, 2:21 p.m. UTC | #3
On Thu, 11 Jan 2018, Hans de Goede wrote:

> >> Just like on the T100TA the T200TA HID descriptors for the 0xff32
> >> Asus vendor usage page need a small fixup. But on the T200TA the HID
> >> descriptors are larger because they have descrriptors for one more
> >> (unused) HID report appended.
> >>
> >> Extend the T100TA descriptor fixup to also check for the T200TA's
> >> descriptors size.
> > 
> > Sigh, both are:
> > Acked-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
> 
> Thanks. Jiri, what is the status of these ?

Over past weeks I have been completely swamped in the Meltdown/Spectre 
happines.

I hope to resume merging HID patches any time soon.

Sorry for the delays,
diff mbox

Patch

diff --git a/drivers/hid/hid-asus.c b/drivers/hid/hid-asus.c
index 07525bc99b6a..88b9703318e4 100644
--- a/drivers/hid/hid-asus.c
+++ b/drivers/hid/hid-asus.c
@@ -715,9 +715,10 @@  static __u8 *asus_report_fixup(struct hid_device *hdev, __u8 *rdesc,
 		hid_info(hdev, "Fixing up Asus notebook report descriptor\n");
 		rdesc[55] = 0xdd;
 	}
-	/* For the T100TA keyboard dock */
+	/* For the T100TA/T200TA keyboard dock */
 	if (drvdata->quirks & QUIRK_T100_KEYBOARD &&
-		 *rsize == 76 && rdesc[73] == 0x81 && rdesc[74] == 0x01) {
+		 (*rsize == 76 || *rsize == 101) &&
+		 rdesc[73] == 0x81 && rdesc[74] == 0x01) {
 		hid_info(hdev, "Fixing up Asus T100 keyb report descriptor\n");
 		rdesc[74] &= ~HID_MAIN_ITEM_CONSTANT;
 	}