Re: [PATCH v4 4/5] dell-wmi: properly process Dell Instant Launch hotkey

From: Darren Hart
Date: Mon Feb 29 2016 - 18:00:23 EST


On Mon, Feb 29, 2016 at 09:56:03PM +0100, Pali RohÃr wrote:
> On Monday 29 February 2016 21:49:27 you wrote:
> > > On Monday 29 February 2016 21:31:23 MichaÅ KÄpieÅ wrote:
> > > > > > diff --git a/drivers/platform/x86/dell-wmi.c
> > > > > > b/drivers/platform/x86/dell-wmi.c index 65edd93..ffc957b5
> > > > > > 100644 --- a/drivers/platform/x86/dell-wmi.c
> > > > > > +++ b/drivers/platform/x86/dell-wmi.c
> > > > > > @@ -111,7 +111,7 @@ static const struct key_entry
> > > > > > dell_wmi_legacy_keymap[] __initconst = {
> > > > > >
> > > > > > { KE_IGNORE, 0xe020, { KEY_MUTE } },
> > > > > >
> > > > > > /* Shortcut and audio panel keys */
> > > > > >
> > > > > > - { KE_IGNORE, 0xe025, { KEY_RESERVED } },
> > > > > > + { KE_KEY, 0xe025, { KEY_PROG4 } },
> > > > > >
> > > > > > { KE_IGNORE, 0xe026, { KEY_RESERVED } },
> > > > > >
> > > > > > { KE_IGNORE, 0xe02e, { KEY_VOLUMEDOWN } },
> > > > > >
> > > > > > @@ -235,6 +235,9 @@ static void dell_wmi_process_key(int
> > > > > > reported_key)
> > > > > >
> > > > > > acpi_video_handles_brightness_key_presses())
> > > > > >
> > > > > > return;
> > > > > >
> > > > > > + if (key->keycode == KEY_PROG4 &&
> > > > > > !wmi_requires_smbios_request) + return;
> > > > > > +
> > > > >
> > > > > Here I would rather test against reported_key, not keycode. If
> > > > > somebody in future adds KEY_PROG4 for something else we will
> > > > > have problem...
> > > >
> > > > As 0xe025 is currently the only event we know about that should
> > > > be ignored on some machines and processed on others, this makes
> > > > sense,
> > > >
> > > > at least for now. If I change the first condition to:
> > > > reported_key == 0xe025
> > >
> > > There will be need also change for 5/5 patch...
> >
> > Why? Are you aware of any model which sends a 0xe029 WMI event _and_
> > generates an i8042 interrupt? If not, WMI event 0xe029 should always
> > be turned into a key event, as per the keymap.
>
> No, but your current patch 4/5 and 5/5 do that (because it checks
> KEY_PROG4). But if it is not needed, I'm happy because of one hook less.

>From my reading, patch 5/5 adds 0xe029 to the reported keys that need to be
ignored, so the test would need to include both if it isn't using the common
keycode KEY_PROG4. I believe that is what Pali is saying as well. Is this not
the correct reading of 5/5?

>
> --
> Pali RohÃr
> pali.rohar@xxxxxxxxx



--
Darren Hart
Intel Open Source Technology Center