Message ID | 1434488921-11839-1-git-send-email-aduggan@synaptics.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Jiri Kosina |
Headers | show |
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? 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 > -- 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
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 >> -- 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
Hi Andrew, Benjamin, applied to for-4.2/rmi. Thanks,
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; }
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> --- drivers/hid/hid-rmi.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)