|
@@ -42,19 +42,21 @@ MODULE_LICENSE("GPL");
|
|
|
MODULE_ALIAS("wmi:" MSIWMI_BIOS_GUID);
|
|
|
MODULE_ALIAS("wmi:" MSIWMI_EVENT_GUID);
|
|
|
|
|
|
-#define SCANCODE_BASE 0xD0
|
|
|
-#define MSI_WMI_BRIGHTNESSUP SCANCODE_BASE
|
|
|
-#define MSI_WMI_BRIGHTNESSDOWN (SCANCODE_BASE + 1)
|
|
|
-#define MSI_WMI_VOLUMEUP (SCANCODE_BASE + 2)
|
|
|
-#define MSI_WMI_VOLUMEDOWN (SCANCODE_BASE + 3)
|
|
|
-#define MSI_WMI_MUTE (SCANCODE_BASE + 4)
|
|
|
+enum msi_scancodes {
|
|
|
+ MSI_SCANCODE_BASE = 0xD0,
|
|
|
+ MSI_KEY_BRIGHTNESSUP = MSI_SCANCODE_BASE,
|
|
|
+ MSI_KEY_BRIGHTNESSDOWN,
|
|
|
+ MSI_KEY_VOLUMEUP,
|
|
|
+ MSI_KEY_VOLUMEDOWN,
|
|
|
+ MSI_KEY_MUTE,
|
|
|
+};
|
|
|
static struct key_entry msi_wmi_keymap[] = {
|
|
|
- { KE_KEY, MSI_WMI_BRIGHTNESSUP, {KEY_BRIGHTNESSUP} },
|
|
|
- { KE_KEY, MSI_WMI_BRIGHTNESSDOWN, {KEY_BRIGHTNESSDOWN} },
|
|
|
- { KE_KEY, MSI_WMI_VOLUMEUP, {KEY_VOLUMEUP} },
|
|
|
- { KE_KEY, MSI_WMI_VOLUMEDOWN, {KEY_VOLUMEDOWN} },
|
|
|
- { KE_KEY, MSI_WMI_MUTE, {KEY_MUTE} },
|
|
|
- { KE_END, 0}
|
|
|
+ { KE_KEY, MSI_KEY_BRIGHTNESSUP, {KEY_BRIGHTNESSUP} },
|
|
|
+ { KE_KEY, MSI_KEY_BRIGHTNESSDOWN, {KEY_BRIGHTNESSDOWN} },
|
|
|
+ { KE_KEY, MSI_KEY_VOLUMEUP, {KEY_VOLUMEUP} },
|
|
|
+ { KE_KEY, MSI_KEY_VOLUMEDOWN, {KEY_VOLUMEDOWN} },
|
|
|
+ { KE_KEY, MSI_KEY_MUTE, {KEY_MUTE} },
|
|
|
+ { KE_END, 0 }
|
|
|
};
|
|
|
static ktime_t last_pressed[ARRAY_SIZE(msi_wmi_keymap) - 1];
|
|
|
|
|
@@ -169,7 +171,7 @@ static void msi_wmi_notify(u32 value, void *context)
|
|
|
ktime_t diff;
|
|
|
cur = ktime_get_real();
|
|
|
diff = ktime_sub(cur, last_pressed[key->code -
|
|
|
- SCANCODE_BASE]);
|
|
|
+ MSI_SCANCODE_BASE]);
|
|
|
/* Ignore event if the same event happened in a 50 ms
|
|
|
timeframe -> Key press may result in 10-20 GPEs */
|
|
|
if (ktime_to_us(diff) < 1000 * 50) {
|
|
@@ -178,13 +180,13 @@ static void msi_wmi_notify(u32 value, void *context)
|
|
|
key->code, ktime_to_us(diff));
|
|
|
goto msi_wmi_notify_exit;
|
|
|
}
|
|
|
- last_pressed[key->code - SCANCODE_BASE] = cur;
|
|
|
+ last_pressed[key->code - MSI_SCANCODE_BASE] = cur;
|
|
|
|
|
|
if (key->type == KE_KEY &&
|
|
|
/* Brightness is served via acpi video driver */
|
|
|
(!acpi_video_backlight_support() ||
|
|
|
- (key->code != MSI_WMI_BRIGHTNESSUP &&
|
|
|
- key->code != MSI_WMI_BRIGHTNESSDOWN))) {
|
|
|
+ (key->code != MSI_KEY_BRIGHTNESSUP &&
|
|
|
+ key->code != MSI_KEY_BRIGHTNESSDOWN))) {
|
|
|
pr_debug("Send key: 0x%X - "
|
|
|
"Input layer keycode: %d\n",
|
|
|
key->code, key->keycode);
|