lkml.org 
[lkml]   [2015]   [Jun]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] HID: rmi: Disable populating F30 when the touchpad has physical buttons
On 06/16/2015 02:26 PM, Benjamin Tissoires wrote:
> Hi Andrew,
>
> On Jun 16 2015 or thereabouts, Andrew Duggan wrote:
>> Physical buttons do not use F30 to report their state and in some cases the
>> data reported in F30 is incorrect and inconsistent with what is reported by
>> the HID descriptor. When physical buttons are present, ignore F30 and let
>> hid-input report buttons based on what is defined in the HID descriptor.
>>
>> Signed-off-by: Andrew Duggan <aduggan@synaptics.com>
>> ---
> Thanks for the patch.
> This one is related to:
> https://bugzilla.redhat.com/show_bug.cgi?id=1227891
> and http://bugs.freedesktop.org/show_bug.cgi?id=90356
>
> Andrew, can you confirm that with this patch, INPUT_PROP_BUTTONPAD is not
> set for the Razer Blade touchpad?

Yes, I was able to reproduce the bug and confirm the fix on a Razer
Blade system.

> If so, then this is:
> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
>
> Cheers,
> Benjamin
>
>> drivers/hid/hid-rmi.c | 9 ++++++---
>> 1 file changed, 6 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c
>> index 368ffdf..721f7f9 100644
>> --- a/drivers/hid/hid-rmi.c
>> +++ b/drivers/hid/hid-rmi.c
>> @@ -1013,6 +1013,7 @@ static int rmi_populate_f30(struct hid_device *hdev)
>>
>> static int rmi_populate(struct hid_device *hdev)
>> {
>> + struct rmi_data *data = hid_get_drvdata(hdev);
>> int ret;
>>
>> ret = rmi_scan_pdt(hdev);
>> @@ -1033,9 +1034,11 @@ static int rmi_populate(struct hid_device *hdev)
>> return ret;
>> }
>>
>> - ret = rmi_populate_f30(hdev);
>> - if (ret)
>> - hid_warn(hdev, "Error while initializing F30 (%d).\n", ret);
>> + if (!(data->device_flags & RMI_DEVICE_HAS_PHYS_BUTTONS)) {
>> + ret = rmi_populate_f30(hdev);
>> + if (ret)
>> + hid_warn(hdev, "Error while initializing F30 (%d).\n", ret);
>> + }
>>
>> return 0;
>> }
>> --
>> 2.1.4
>>



\
 
 \ /
  Last update: 2015-06-17 00:01    [W:0.027 / U:0.188 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site