linux/include/uapi/linux/thermal.h
<<
>>
Prefs
   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
   7enum thermal_device_mode {
   8        THERMAL_DEVICE_DISABLED = 0,
   9        THERMAL_DEVICE_ENABLED,
  10};
  11
  12enum 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 */
  26enum 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
  55enum 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 */
  62enum 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 */
  83enum 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