asus-wmi: always report brightness key events
authorCorentin Chary <corentin.chary@gmail.com>
Thu, 29 Nov 2012 08:12:38 +0000 (09:12 +0100)
committerMatthew Garrett <matthew.garrett@nebula.com>
Wed, 27 Feb 2013 13:30:37 +0000 (08:30 -0500)
Signed-off-by: Corentin Chary <corentin.chary@gmail.com>
Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
drivers/platform/x86/asus-nb-wmi.c
drivers/platform/x86/asus-wmi.c
drivers/platform/x86/asus-wmi.h
drivers/platform/x86/eeepc-wmi.c

index 9aa6642f1ab0754d0daf3c67ceae1234bb8a3901..210b5b872125e8aef1d751e56968f953686c4904 100644 (file)
@@ -190,6 +190,8 @@ static void asus_nb_wmi_quirks(struct asus_wmi_driver *driver)
 }
 
 static const struct key_entry asus_nb_wmi_keymap[] = {
+       { KE_KEY, ASUS_WMI_BRN_DOWN, { KEY_BRIGHTNESSDOWN } },
+       { KE_KEY, ASUS_WMI_BRN_UP, { KEY_BRIGHTNESSUP } },
        { KE_KEY, 0x30, { KEY_VOLUMEUP } },
        { KE_KEY, 0x31, { KEY_VOLUMEDOWN } },
        { KE_KEY, 0x32, { KEY_MUTE } },
index 208e71c618479c5966da114cd6a2a8b9547afd4c..e41eae315852b3effafc7d9ce70c1aaa5b950ec2 100644 (file)
@@ -1391,16 +1391,16 @@ static void asus_wmi_notify(u32 value, void *context)
        }
 
        if (code >= NOTIFY_BRNUP_MIN && code <= NOTIFY_BRNUP_MAX)
-               code = NOTIFY_BRNUP_MIN;
+               code = ASUS_WMI_BRN_UP;
        else if (code >= NOTIFY_BRNDOWN_MIN &&
                 code <= NOTIFY_BRNDOWN_MAX)
-               code = NOTIFY_BRNDOWN_MIN;
+               code = ASUS_WMI_BRN_DOWN;
 
-       if (code == NOTIFY_BRNUP_MIN || code == NOTIFY_BRNDOWN_MIN) {
+       if (code == ASUS_WMI_BRN_DOWN || code == ASUS_WMI_BRN_UP) {
                if (!acpi_video_backlight_support()) {
                        asus_wmi_backlight_notify(asus, orig_code);
+                       goto exit;
                }
-               goto exit;
        }
 
        if (is_display_toggle(code) &&
index 776524c725de762624a897bbabc6a0b4ca8697a3..4da4c8bafe70e926989bfd134fcb866167212646 100644 (file)
@@ -30,6 +30,8 @@
 #include <linux/platform_device.h>
 
 #define ASUS_WMI_KEY_IGNORE (-1)
+#define ASUS_WMI_BRN_DOWN      0x20
+#define ASUS_WMI_BRN_UP                0x2f
 
 struct module;
 struct key_entry;
index 60cb76a5b51362ca4d3d840360ef871b3f62e20f..af67e6e56ebbf3165d6c315daf6e88b155328d8f 100644 (file)
@@ -63,6 +63,8 @@ MODULE_PARM_DESC(hotplug_wireless,
 #define HOME_RELEASE   0xe5
 
 static const struct key_entry eeepc_wmi_keymap[] = {
+       { KE_KEY, ASUS_WMI_BRN_DOWN, { KEY_BRIGHTNESSDOWN } },
+       { KE_KEY, ASUS_WMI_BRN_UP, { KEY_BRIGHTNESSUP } },
        /* Sleep already handled via generic ACPI code */
        { KE_KEY, 0x30, { KEY_VOLUMEUP } },
        { KE_KEY, 0x31, { KEY_VOLUMEDOWN } },