On Monday, June 12, 2017 10:35:50 PM Jérôme de Bretagne wrote: > > I don't see HEBC in the ASL for the 7275. It would be good to provide > > this information across both of the BIOS versions (working and non-working). > > > > As well as what > > status = acpi_evaluate_integer(handle, "BTNC", NULL, &button_cap); > > evaluates as on both too. > > I'll provide both BTNC and HEBC log results to compare, with both BIOS > versions, a bit later today. > > > Since this platform shipped with Win 8.1 initially rather than Win10, > > It's possible 5 button array was not part of the INT33D5 spec at that time > > and wasn't used by the Windows Intel HID filter driver. > > > > My suspicion: > > Win 8.1 didn't support 5 button array definition yet and those events that > > are normally part of 5 button array (as detected by bit 17) were coming > > across as regular HID event codes (like you were seeing 0xCE and 0xCF > > unknown events from debug log when OS was running). > > That was my assumption also, since my earlier 3-liner patch was doing > this exactly: trying to wake up on a regular 0xCE event. And it did work. OK Can you try the patch below, please? --- drivers/platform/x86/intel-hid.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) Index: linux-pm/drivers/platform/x86/intel-hid.c =================================================================== --- linux-pm.orig/drivers/platform/x86/intel-hid.c +++ linux-pm/drivers/platform/x86/intel-hid.c @@ -270,12 +270,17 @@ static int intel_hid_probe(struct platfo } /* Setup 5 button array */ - status = acpi_evaluate_integer(handle, "HEBC", NULL, &event_cap); - if (ACPI_SUCCESS(status) && (event_cap & 0x20000)) { - dev_info(&device->dev, "platform supports 5 button array\n"); - err = intel_button_array_input_setup(device); - if (err) - pr_err("Failed to setup Intel 5 button array hotkeys\n"); + if (acpi_has_method(handle, "BTNC") && acpi_has_method(handle, "BTNE")) { + unsigned long long event_cap; + + status = acpi_evaluate_integer(handle, "HEBC", NULL, &event_cap); + if ((ACPI_SUCCESS(status) && (event_cap & 0x20000)) || + status == AE_NOT_FOUND) { + dev_info(&device->dev, "5-button array supported\n"); + err = intel_button_array_input_setup(device); + if (err) + dev_dbg(&device->dev, "5-button array setup failure\n"); + } } status = acpi_install_notify_handler(handle, -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html