lkml.org 
[lkml]   [2015]   [Nov]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] dell-wmi: add module param to control Dell Instant Launch hotkey processing
    Date
    On some laptop models (e.g. Dell Vostro V131), pressing the Dell Instant
    Launch hotkey does not raise an i8042 interrupt - only WMI event 0xe025
    is generated. As there is no flawless way to determine whether a given
    machine is capable of simulating a keypress when this hotkey is pressed,
    a new module parameter is added so that the user can decide whether the
    WMI event should be processed or ignored.

    Signed-off-by: Michał Kępień <kernel@kempniu.pl>
    ---
    As my last message [1] in the rather lengthy thread failed to elicit any
    response, I guess I might just as well post the proposed patch so that
    we have something specific to discuss.

    [1] http://www.spinics.net/lists/platform-driver-x86/msg07679.html

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

    diff --git a/drivers/platform/x86/dell-wmi.c b/drivers/platform/x86/dell-wmi.c
    index 8cb0f57..e68ce3b 100644
    --- a/drivers/platform/x86/dell-wmi.c
    +++ b/drivers/platform/x86/dell-wmi.c
    @@ -44,6 +44,10 @@ MODULE_LICENSE("GPL");
    #define DELL_EVENT_GUID "9DBB5994-A997-11DA-B012-B622A1EF5492"

    static int acpi_video;
    +static bool process_dil;
    +
    +module_param(process_dil, bool, 0644);
    +MODULE_PARM_DESC(process_dil, "Generate an input event when the WMI event for Dell Instant Launch hotkey is received");

    MODULE_ALIAS("wmi:"DELL_EVENT_GUID);

    @@ -87,7 +91,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 } },
    @@ -183,6 +187,9 @@ static void dell_wmi_process_key(int reported_key)
    key->keycode == KEY_BRIGHTNESSDOWN) && acpi_video)
    return;

    + if (key->keycode == KEY_PROG4 && !process_dil)
    + return;
    +
    sparse_keymap_report_entry(dell_wmi_input_dev, key, 1, true);
    }

    --
    1.7.10.4


    \
     
     \ /
      Last update: 2015-11-26 15:41    [W:3.741 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site