Re: [PATCH] platform/x86: dell-wmi: Ignore new rfkill and fn-lock events

From: Kai Heng Feng
Date: Thu Apr 19 2018 - 04:09:33 EST



On Apr 19, 2018, at 3:46 PM, Pali RohÃr <pali.rohar@xxxxxxxxx> wrote:

On Thursday 19 April 2018 15:24:49 Kai-Heng Feng wrote:
There are two new events generated by dell-wmi, rfkill and fn-lock, from
Dell Systems.

These events are for notification purpose, so we can ignore them.

Tested on XPS 9370.

Signed-off-by: Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx>
---
I ordered them functionally instead of alphabetically, I can re-order
them to alphabetically if that's more diserable.

Please order them by event code like they were prior your change.

Sure. Will do.


drivers/platform/x86/dell-wmi.c | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/drivers/platform/x86/dell-wmi.c b/drivers/platform/x86/dell-wmi.c
index 8d102195a392..51d2845d2ad9 100644
--- a/drivers/platform/x86/dell-wmi.c
+++ b/drivers/platform/x86/dell-wmi.c
@@ -266,6 +266,13 @@ static const struct key_entry dell_wmi_keymap_type_0010[] = {

/* Fn-lock */
{ KE_IGNORE, 0x151, { KEY_RESERVED } },
+ { KE_IGNORE, 0xe035, { KEY_RESERVED } },
+
+ /* Fn-lock switched to function keys */
+ { KE_IGNORE, 0x0000, { KEY_RESERVED } },
+
+ /* Fn-lock switched to multimedia keys */
+ { KE_IGNORE, 0x0001, { KEY_RESERVED } },

Are you sure that all those codes are not defined in 0xB2 DMI hotkey
table? Also is Fn-lock key reported by PS/2 AT Keyboard controller so it
is needed to ignored it by WMI?

I don't think so, because I can see these messages:
[ 4307.325389] dell_wmi: Unknown key with type 0x0010 and code 0xe035 pressed
[ 4307.325393] dell_wmi: Unknown key with type 0x0010 and code 0x0000 pressed
[ 4310.007794] dell_wmi: Unknown key with type 0x0010 and code 0xe035 pressed
[ 4310.007796] dell_wmi: Unknown key with type 0x0010 and code 0x0001 pressed

From what I can observe in Fn-lock case, it's controlled by keyboard controller.
Ignoring these event doesn't affect its function.


/* Change keyboard illumination */
{ KE_IGNORE, 0x152, { KEY_KBDILLUMTOGGLE } },
@@ -275,6 +282,7 @@ static const struct key_entry dell_wmi_keymap_type_0010[] = {
* WMI event is supposed to trigger an action).
*/
{ KE_IGNORE, 0x153, { KEY_RFKILL } },
+ { KE_IGNORE, 0xe008, { KEY_RFKILL } },

/* RGB keyboard backlight control */
{ KE_IGNORE, 0x154, { KEY_RESERVED } },

--
Pali RohÃr
pali.rohar@xxxxxxxxx