> -----Original Message----- > From: Jérôme de Bretagne [mailto:[email protected]] > Sent: Monday, September 18, 2017 5:41 PM > To: Limonciello, Mario <[email protected]> > Cc: [email protected]; Darren Hart <[email protected]>; > LKML <[email protected]>; ACPI Devel Maling List <linux- > [email protected]>; Rafael J. Wysocki <[email protected]>; Andy Shevchenko > <[email protected]>; Alex Hung <[email protected]> > Subject: Re: [PATCH] platform/x86: intel-hid: Power button suspend on Dell > Latitude 7275 > > 2017-09-18 23:29 GMT+02:00 <[email protected]>: > >> -----Original Message----- > >> From: Jérôme de Bretagne [mailto:[email protected]] > >> Sent: Sunday, September 17, 2017 5:57 PM > >> To: [email protected] > >> Cc: Darren Hart <[email protected]>; LKML > >> <[email protected]>; > >> Linux ACPI <[email protected]>; Rafael J. Wysocki > <[email protected]>; > >> Andy Shevchenko <[email protected]>; Limonciello, Mario > >> <[email protected]>; Alex Hung <[email protected]> > >> Subject: [PATCH] platform/x86: intel-hid: Power button suspend on Dell > >> Latitude > >> 7275 > >> > >> From: Jérôme de Bretagne <[email protected]> > >> > >> On Dell Latitude 7275 the 5-button array is not exposed in the > >> ACPI tables, but still notifies are sent to the Intel HID device > >> object (device ID INT33D5) in response to power button actions. > >> They were ignored as the intel-hid driver was not prepared to > >> take care of them until recently. > >> > >> Power button wakeup from suspend-to-idle was added in: > >> 635173a17b03 ("intel-hid: Wake up Dell Latitude 7275 from > >> suspend-to-idle"). However power button suspend doesn't work > >> yet on this platform so it would be good to add it also. > >> > >> On the affected platform (for which priv->array is NULL), add > >> a new upfront check against the power button press notification > >> (0xCE) to notify_handler(), outside the wakeup mode this time, > >> which allows to report the power button press event and > >> trigger the suspend. Also catch and ignore the corresponding > >> power button release notification (0xCF) to stop it from being > >> reported as an "unknown event" in the logs. > >> > >> Link: https://bugzilla.kernel.org/show_bug.cgi?id=196115 > >> Tested-by: Jérôme de Bretagne <[email protected]> > >> Signed-off-by: Jérôme de Bretagne <[email protected]> > >> --- > >> drivers/platform/x86/intel-hid.c | 16 ++++++++++++++++ > >> 1 file changed, 16 insertions(+) > >> > >> diff --git a/drivers/platform/x86/intel-hid.c > >> b/drivers/platform/x86/intel-hid.c > >> index a782c78e7c63..b19f8dcf9d8c 100644 > >> --- a/drivers/platform/x86/intel-hid.c > >> +++ b/drivers/platform/x86/intel-hid.c > >> @@ -226,6 +226,22 @@ static void notify_handler(acpi_handle handle, u32 > event, > >> void *context) > >> return; > >> } > >> > >> + /* > >> + * Needed for suspend to work on some platforms that don't expose > >> + * the 5-button array, but still send notifies with power button > >> + * event code to this device object on power button actions. > >> + * > >> + * Report the power button press; catch and ignore the button > >> release. > >> + */ > >> + if (!priv->array) { > >> + if (event == 0xce) { > >> + input_report_key(priv->input_dev, KEY_POWER, 1); > >> + input_sync(priv->input_dev); > >> + return; > >> + } else if (event == 0xcf) > >> + return; > >> + } > >> + > >> /* 0xC0 is for HID events, other values are for 5 button array */ > >> if (event != 0xc0) { > >> if (!priv->array || > > > > LGTM, it's improved from what you posted to that bug already. > > > > Acked-By: Mario Limonciello <[email protected]> > > Thanks Mario. > > In fact, I updated my initial fix proposal on the 12th in [1] and > this patch matches exactly the updated version. You didn't receive > the update notification from Bugzilla? > > [1] https://bugzilla.kernel.org/show_bug.cgi?id=196115#c12
No I didn't get one (or some enterprise spam filter helpfully avoided letting it into my inbox).

