1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
2 | #ifndef _UAPI_LINUX_THERMAL_H |
3 | #define _UAPI_LINUX_THERMAL_H |
4 | |
5 | #define THERMAL_NAME_LENGTH 20 |
6 | |
7 | enum thermal_device_mode { |
8 | THERMAL_DEVICE_DISABLED = 0, |
9 | THERMAL_DEVICE_ENABLED, |
10 | }; |
11 | |
12 | enum thermal_trip_type { |
13 | THERMAL_TRIP_ACTIVE = 0, |
14 | THERMAL_TRIP_PASSIVE, |
15 | THERMAL_TRIP_HOT, |
16 | THERMAL_TRIP_CRITICAL, |
17 | }; |
18 | |
19 | /* Adding event notification support elements */ |
20 | #define THERMAL_GENL_FAMILY_NAME "thermal" |
21 | #define THERMAL_GENL_VERSION 0x01 |
22 | #define THERMAL_GENL_SAMPLING_GROUP_NAME "sampling" |
23 | #define THERMAL_GENL_EVENT_GROUP_NAME "event" |
24 | |
25 | /* Attributes of thermal_genl_family */ |
26 | enum thermal_genl_attr { |
27 | THERMAL_GENL_ATTR_UNSPEC, |
28 | THERMAL_GENL_ATTR_TZ, |
29 | THERMAL_GENL_ATTR_TZ_ID, |
30 | THERMAL_GENL_ATTR_TZ_TEMP, |
31 | THERMAL_GENL_ATTR_TZ_TRIP, |
32 | THERMAL_GENL_ATTR_TZ_TRIP_ID, |
33 | THERMAL_GENL_ATTR_TZ_TRIP_TYPE, |
34 | THERMAL_GENL_ATTR_TZ_TRIP_TEMP, |
35 | THERMAL_GENL_ATTR_TZ_TRIP_HYST, |
36 | THERMAL_GENL_ATTR_TZ_MODE, |
37 | THERMAL_GENL_ATTR_TZ_NAME, |
38 | THERMAL_GENL_ATTR_TZ_CDEV_WEIGHT, |
39 | THERMAL_GENL_ATTR_TZ_GOV, |
40 | THERMAL_GENL_ATTR_TZ_GOV_NAME, |
41 | THERMAL_GENL_ATTR_CDEV, |
42 | THERMAL_GENL_ATTR_CDEV_ID, |
43 | THERMAL_GENL_ATTR_CDEV_CUR_STATE, |
44 | THERMAL_GENL_ATTR_CDEV_MAX_STATE, |
45 | THERMAL_GENL_ATTR_CDEV_NAME, |
46 | THERMAL_GENL_ATTR_GOV_NAME, |
47 | THERMAL_GENL_ATTR_CPU_CAPABILITY, |
48 | THERMAL_GENL_ATTR_CPU_CAPABILITY_ID, |
49 | THERMAL_GENL_ATTR_CPU_CAPABILITY_PERFORMANCE, |
50 | THERMAL_GENL_ATTR_CPU_CAPABILITY_EFFICIENCY, |
51 | __THERMAL_GENL_ATTR_MAX, |
52 | }; |
53 | #define THERMAL_GENL_ATTR_MAX (__THERMAL_GENL_ATTR_MAX - 1) |
54 | |
55 | enum thermal_genl_sampling { |
56 | THERMAL_GENL_SAMPLING_TEMP, |
57 | __THERMAL_GENL_SAMPLING_MAX, |
58 | }; |
59 | #define THERMAL_GENL_SAMPLING_MAX (__THERMAL_GENL_SAMPLING_MAX - 1) |
60 | |
61 | /* Events of thermal_genl_family */ |
62 | enum thermal_genl_event { |
63 | THERMAL_GENL_EVENT_UNSPEC, |
64 | THERMAL_GENL_EVENT_TZ_CREATE, /* Thermal zone creation */ |
65 | THERMAL_GENL_EVENT_TZ_DELETE, /* Thermal zone deletion */ |
66 | THERMAL_GENL_EVENT_TZ_DISABLE, /* Thermal zone disabled */ |
67 | THERMAL_GENL_EVENT_TZ_ENABLE, /* Thermal zone enabled */ |
68 | THERMAL_GENL_EVENT_TZ_TRIP_UP, /* Trip point crossed the way up */ |
69 | THERMAL_GENL_EVENT_TZ_TRIP_DOWN, /* Trip point crossed the way down */ |
70 | THERMAL_GENL_EVENT_TZ_TRIP_CHANGE, /* Trip point changed */ |
71 | THERMAL_GENL_EVENT_TZ_TRIP_ADD, /* Trip point added */ |
72 | THERMAL_GENL_EVENT_TZ_TRIP_DELETE, /* Trip point deleted */ |
73 | THERMAL_GENL_EVENT_CDEV_ADD, /* Cdev bound to the thermal zone */ |
74 | THERMAL_GENL_EVENT_CDEV_DELETE, /* Cdev unbound */ |
75 | THERMAL_GENL_EVENT_CDEV_STATE_UPDATE, /* Cdev state updated */ |
76 | THERMAL_GENL_EVENT_TZ_GOV_CHANGE, /* Governor policy changed */ |
77 | THERMAL_GENL_EVENT_CPU_CAPABILITY_CHANGE, /* CPU capability changed */ |
78 | __THERMAL_GENL_EVENT_MAX, |
79 | }; |
80 | #define THERMAL_GENL_EVENT_MAX (__THERMAL_GENL_EVENT_MAX - 1) |
81 | |
82 | /* Commands supported by the thermal_genl_family */ |
83 | enum thermal_genl_cmd { |
84 | THERMAL_GENL_CMD_UNSPEC, |
85 | THERMAL_GENL_CMD_TZ_GET_ID, /* List of thermal zones id */ |
86 | THERMAL_GENL_CMD_TZ_GET_TRIP, /* List of thermal trips */ |
87 | THERMAL_GENL_CMD_TZ_GET_TEMP, /* Get the thermal zone temperature */ |
88 | THERMAL_GENL_CMD_TZ_GET_GOV, /* Get the thermal zone governor */ |
89 | THERMAL_GENL_CMD_TZ_GET_MODE, /* Get the thermal zone mode */ |
90 | THERMAL_GENL_CMD_CDEV_GET, /* List of cdev id */ |
91 | __THERMAL_GENL_CMD_MAX, |
92 | }; |
93 | #define THERMAL_GENL_CMD_MAX (__THERMAL_GENL_CMD_MAX - 1) |
94 | |
95 | #endif /* _UAPI_LINUX_THERMAL_H */ |
96 | |