xref: /linux/drivers/platform/x86/uniwill/uniwill-wmi.h (revision 9d588a1140b9ae211581a7a154d0b806d8cd8238)
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * Linux hotkey driver for Uniwill notebooks.
4  *
5  * Copyright (C) 2025 Armin Wolf <W_Armin@gmx.de>
6  */
7 
8 #ifndef UNIWILL_WMI_H
9 #define UNIWILL_WMI_H
10 
11 #include <linux/init.h>
12 
13 #define UNIWILL_OSD_CAPSLOCK			0x01
14 #define UNIWILL_OSD_NUMLOCK			0x02
15 #define UNIWILL_OSD_SCROLLLOCK			0x03
16 
17 #define UNIWILL_OSD_TOUCHPAD_ON			0x04
18 #define UNIWILL_OSD_TOUCHPAD_OFF		0x05
19 
20 #define UNIWILL_OSD_SILENT_MODE_ON		0x06
21 #define UNIWILL_OSD_SILENT_MODE_OFF		0x07
22 
23 #define UNIWILL_OSD_WLAN_ON			0x08
24 #define UNIWILL_OSD_WLAN_OFF			0x09
25 
26 #define UNIWILL_OSD_WIMAX_ON			0x0A
27 #define UNIWILL_OSD_WIMAX_OFF			0x0B
28 
29 #define UNIWILL_OSD_BLUETOOTH_ON		0x0C
30 #define UNIWILL_OSD_BLUETOOTH_OFF		0x0D
31 
32 #define UNIWILL_OSD_RF_ON			0x0E
33 #define UNIWILL_OSD_RF_OFF			0x0F
34 
35 #define UNIWILL_OSD_3G_ON			0x10
36 #define UNIWILL_OSD_3G_OFF			0x11
37 
38 #define UNIWILL_OSD_WEBCAM_ON			0x12
39 #define UNIWILL_OSD_WEBCAM_OFF			0x13
40 
41 #define UNIWILL_OSD_BRIGHTNESSUP		0x14
42 #define UNIWILL_OSD_BRIGHTNESSDOWN		0x15
43 
44 #define UNIWILL_OSD_RADIOON			0x1A
45 #define UNIWILL_OSD_RADIOOFF			0x1B
46 
47 #define UNIWILL_OSD_POWERSAVE_ON		0x31
48 #define UNIWILL_OSD_POWERSAVE_OFF		0x32
49 
50 #define UNIWILL_OSD_MENU			0x34
51 
52 #define UNIWILL_OSD_MUTE			0x35
53 #define UNIWILL_OSD_VOLUMEDOWN			0x36
54 #define UNIWILL_OSD_VOLUMEUP			0x37
55 
56 #define UNIWILL_OSD_MENU_2			0x38
57 
58 #define UNIWILL_OSD_LIGHTBAR_ON			0x39
59 #define UNIWILL_OSD_LIGHTBAR_OFF		0x3A
60 
61 #define UNIWILL_OSD_KB_LED_LEVEL0		0x3B
62 #define UNIWILL_OSD_KB_LED_LEVEL1		0x3C
63 #define UNIWILL_OSD_KB_LED_LEVEL2		0x3D
64 #define UNIWILL_OSD_KB_LED_LEVEL3		0x3E
65 #define UNIWILL_OSD_KB_LED_LEVEL4		0x3F
66 
67 #define UNIWILL_OSD_SUPER_KEY_LOCK_ENABLE	0x40
68 #define UNIWILL_OSD_SUPER_KEY_LOCK_DISABLE	0x41
69 
70 #define UNIWILL_OSD_MENU_JP			0x42
71 
72 #define UNIWILL_OSD_CAMERA_ON			0x90
73 #define UNIWILL_OSD_CAMERA_OFF			0x91
74 
75 #define UNIWILL_OSD_RFKILL			0xA4
76 
77 #define UNIWILL_OSD_SUPER_KEY_LOCK_CHANGED	0xA5
78 
79 #define UNIWILL_OSD_LIGHTBAR_STATE_CHANGED	0xA6
80 
81 #define UNIWILL_OSD_FAN_BOOST_STATE_CHANGED	0xA7
82 
83 #define UNIWILL_OSD_LCD_SW			0xA9
84 
85 #define UNIWILL_OSD_FAN_OVERTEMP		0xAA
86 
87 #define UNIWILL_OSD_DC_ADAPTER_CHANGED		0xAB
88 
89 #define UNIWILL_OSD_BAT_HP_OFF			0xAC
90 
91 #define UNIWILL_OSD_FAN_DOWN_TEMP		0xAD
92 
93 #define UNIWILL_OSD_BATTERY_ALERT		0xAE
94 
95 #define UNIWILL_OSD_TIMAP_HAIERLB_SW		0xAF
96 
97 #define UNIWILL_OSD_PERFORMANCE_MODE_TOGGLE	0xB0
98 
99 #define UNIWILL_OSD_KBDILLUMDOWN		0xB1
100 #define UNIWILL_OSD_KBDILLUMUP			0xB2
101 
102 #define UNIWILL_OSD_BACKLIGHT_LEVEL_CHANGE	0xB3
103 #define UNIWILL_OSD_BACKLIGHT_POWER_CHANGE	0xB4
104 
105 #define UNIWILL_OSD_MIC_MUTE			0xB7
106 
107 #define UNIWILL_OSD_FN_LOCK			0xB8
108 #define UNIWILL_OSD_KBDILLUMTOGGLE		0xB9
109 
110 #define UNIWILL_OSD_BAT_CHARGE_FULL_24_H	0xBE
111 
112 #define UNIWILL_OSD_BAT_ERM_UPDATE		0xBF
113 
114 #define UNIWILL_OSD_BENCHMARK_MODE_TOGGLE	0xC0
115 
116 #define UNIWILL_OSD_WEBCAM_TOGGLE		0xCF
117 
118 #define UNIWILL_OSD_KBD_BACKLIGHT_CHANGED	0xF0
119 
120 struct device;
121 struct notifier_block;
122 
123 int devm_uniwill_wmi_register_notifier(struct device *dev, struct notifier_block *nb);
124 
125 int __init uniwill_wmi_register_driver(void);
126 
127 void __exit uniwill_wmi_unregister_driver(void);
128 
129 #endif /* UNIWILL_WMI_H */
130