On Wednesday 24 February 2016 08:20:14 Michał Kępień wrote:
> On models on which an SMBIOS request needs to be issued in order for WMI
> events to be generated, pressing the Dell Instant Launch hotkey does not
> raise an i8042 interrupt - only a WMI event is generated (0xe025 on Dell
> Vostro V131).  Thus, the 0xe025 event should only be ignored on machines
> which do not require an SMBIOS request for enabling WMI.
> 
> Signed-off-by: Michał Kępień <ker...@kempniu.pl>
> ---
>  drivers/platform/x86/dell-wmi.c |    5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> 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...

>       sparse_keymap_report_entry(dell_wmi_input_dev, key, 1, true);
>  }
>  

-- 
Pali Rohár
pali.ro...@gmail.com

Reply via email to