Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
0002 #ifndef _UAPI_LINUX_THERMAL_H
0003 #define _UAPI_LINUX_THERMAL_H
0004 
0005 #define THERMAL_NAME_LENGTH 20
0006 
0007 enum thermal_device_mode {
0008     THERMAL_DEVICE_DISABLED = 0,
0009     THERMAL_DEVICE_ENABLED,
0010 };
0011 
0012 enum thermal_trip_type {
0013     THERMAL_TRIP_ACTIVE = 0,
0014     THERMAL_TRIP_PASSIVE,
0015     THERMAL_TRIP_HOT,
0016     THERMAL_TRIP_CRITICAL,
0017 };
0018 
0019 /* Adding event notification support elements */
0020 #define THERMAL_GENL_FAMILY_NAME        "thermal"
0021 #define THERMAL_GENL_VERSION            0x01
0022 #define THERMAL_GENL_SAMPLING_GROUP_NAME    "sampling"
0023 #define THERMAL_GENL_EVENT_GROUP_NAME       "event"
0024 
0025 /* Attributes of thermal_genl_family */
0026 enum thermal_genl_attr {
0027     THERMAL_GENL_ATTR_UNSPEC,
0028     THERMAL_GENL_ATTR_TZ,
0029     THERMAL_GENL_ATTR_TZ_ID,
0030     THERMAL_GENL_ATTR_TZ_TEMP,
0031     THERMAL_GENL_ATTR_TZ_TRIP,
0032     THERMAL_GENL_ATTR_TZ_TRIP_ID,
0033     THERMAL_GENL_ATTR_TZ_TRIP_TYPE,
0034     THERMAL_GENL_ATTR_TZ_TRIP_TEMP,
0035     THERMAL_GENL_ATTR_TZ_TRIP_HYST,
0036     THERMAL_GENL_ATTR_TZ_MODE,
0037     THERMAL_GENL_ATTR_TZ_NAME,
0038     THERMAL_GENL_ATTR_TZ_CDEV_WEIGHT,
0039     THERMAL_GENL_ATTR_TZ_GOV,
0040     THERMAL_GENL_ATTR_TZ_GOV_NAME,
0041     THERMAL_GENL_ATTR_CDEV,
0042     THERMAL_GENL_ATTR_CDEV_ID,
0043     THERMAL_GENL_ATTR_CDEV_CUR_STATE,
0044     THERMAL_GENL_ATTR_CDEV_MAX_STATE,
0045     THERMAL_GENL_ATTR_CDEV_NAME,
0046     THERMAL_GENL_ATTR_GOV_NAME,
0047     THERMAL_GENL_ATTR_CPU_CAPABILITY,
0048     THERMAL_GENL_ATTR_CPU_CAPABILITY_ID,
0049     THERMAL_GENL_ATTR_CPU_CAPABILITY_PERFORMANCE,
0050     THERMAL_GENL_ATTR_CPU_CAPABILITY_EFFICIENCY,
0051     __THERMAL_GENL_ATTR_MAX,
0052 };
0053 #define THERMAL_GENL_ATTR_MAX (__THERMAL_GENL_ATTR_MAX - 1)
0054 
0055 enum thermal_genl_sampling {
0056     THERMAL_GENL_SAMPLING_TEMP,
0057     __THERMAL_GENL_SAMPLING_MAX,
0058 };
0059 #define THERMAL_GENL_SAMPLING_MAX (__THERMAL_GENL_SAMPLING_MAX - 1)
0060 
0061 /* Events of thermal_genl_family */
0062 enum thermal_genl_event {
0063     THERMAL_GENL_EVENT_UNSPEC,
0064     THERMAL_GENL_EVENT_TZ_CREATE,       /* Thermal zone creation */
0065     THERMAL_GENL_EVENT_TZ_DELETE,       /* Thermal zone deletion */
0066     THERMAL_GENL_EVENT_TZ_DISABLE,      /* Thermal zone disabled */
0067     THERMAL_GENL_EVENT_TZ_ENABLE,       /* Thermal zone enabled */
0068     THERMAL_GENL_EVENT_TZ_TRIP_UP,      /* Trip point crossed the way up */
0069     THERMAL_GENL_EVENT_TZ_TRIP_DOWN,    /* Trip point crossed the way down */
0070     THERMAL_GENL_EVENT_TZ_TRIP_CHANGE,  /* Trip point changed */
0071     THERMAL_GENL_EVENT_TZ_TRIP_ADD,     /* Trip point added */
0072     THERMAL_GENL_EVENT_TZ_TRIP_DELETE,  /* Trip point deleted */
0073     THERMAL_GENL_EVENT_CDEV_ADD,        /* Cdev bound to the thermal zone */
0074     THERMAL_GENL_EVENT_CDEV_DELETE,     /* Cdev unbound */
0075     THERMAL_GENL_EVENT_CDEV_STATE_UPDATE,   /* Cdev state updated */
0076     THERMAL_GENL_EVENT_TZ_GOV_CHANGE,   /* Governor policy changed  */
0077     THERMAL_GENL_EVENT_CPU_CAPABILITY_CHANGE,   /* CPU capability changed */
0078     __THERMAL_GENL_EVENT_MAX,
0079 };
0080 #define THERMAL_GENL_EVENT_MAX (__THERMAL_GENL_EVENT_MAX - 1)
0081 
0082 /* Commands supported by the thermal_genl_family */
0083 enum thermal_genl_cmd {
0084     THERMAL_GENL_CMD_UNSPEC,
0085     THERMAL_GENL_CMD_TZ_GET_ID, /* List of thermal zones id */
0086     THERMAL_GENL_CMD_TZ_GET_TRIP,   /* List of thermal trips */
0087     THERMAL_GENL_CMD_TZ_GET_TEMP,   /* Get the thermal zone temperature */
0088     THERMAL_GENL_CMD_TZ_GET_GOV,    /* Get the thermal zone governor */
0089     THERMAL_GENL_CMD_TZ_GET_MODE,   /* Get the thermal zone mode */
0090     THERMAL_GENL_CMD_CDEV_GET,  /* List of cdev id */
0091     __THERMAL_GENL_CMD_MAX,
0092 };
0093 #define THERMAL_GENL_CMD_MAX (__THERMAL_GENL_CMD_MAX - 1)
0094 
0095 #endif /* _UAPI_LINUX_THERMAL_H */