Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b0d3bb53 authored by Maxim Mikityanskiy's avatar Maxim Mikityanskiy Committed by Matthew Garrett
Browse files

msi-wmi: Use enums for scancodes



Use enums for consecutive scancodes, rename key names from MSI_WMI_* to
MSI_KEY_* and use tabs for whitespace in msi_wmi_keymap.

Signed-off-by: default avatarMaxim Mikityanskiy <maxtram95@gmail.com>
Acked-by: default avatarLee, Chun-Yi <jlee@suse.com>
Signed-off-by: default avatarMatthew Garrett <matthew.garrett@nebula.com>
parent dd2b0251
Loading
Loading
Loading
Loading
+18 −16
Original line number Original line Diff line number Diff line
@@ -42,18 +42,20 @@ MODULE_LICENSE("GPL");
MODULE_ALIAS("wmi:" MSIWMI_BIOS_GUID);
MODULE_ALIAS("wmi:" MSIWMI_BIOS_GUID);
MODULE_ALIAS("wmi:" MSIWMI_EVENT_GUID);
MODULE_ALIAS("wmi:" MSIWMI_EVENT_GUID);


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