1 #ifndef _MSM_THERMAL_IOCTL_H 2 #define _MSM_THERMAL_IOCTL_H 3 4 #include <linux/ioctl.h> 5 6 #define MSM_THERMAL_IOCTL_NAME "msm_thermal_query" 7 8 struct __attribute__((__packed__)) cpu_freq_arg { 9 uint32_t cpu_num; 10 uint32_t freq_req; 11 }; 12 13 struct __attribute__((__packed__)) msm_thermal_ioctl { 14 uint32_t size; 15 union { 16 struct cpu_freq_arg cpu_freq; 17 }; 18 }; 19 20 enum { 21 /*Set CPU Frequency*/ 22 MSM_SET_CPU_MAX_FREQ = 0x00, 23 MSM_SET_CPU_MIN_FREQ = 0x01, 24 25 MSM_CMD_MAX_NR, 26 }; 27 28 #define MSM_THERMAL_MAGIC_NUM 0xCA /*Unique magic number*/ 29 30 #define MSM_THERMAL_SET_CPU_MAX_FREQUENCY _IOW(MSM_THERMAL_MAGIC_NUM,\ 31 MSM_SET_CPU_MAX_FREQ, struct msm_thermal_ioctl) 32 33 #define MSM_THERMAL_SET_CPU_MIN_FREQUENCY _IOW(MSM_THERMAL_MAGIC_NUM,\ 34 MSM_SET_CPU_MIN_FREQ, struct msm_thermal_ioctl) 35 36 #ifdef __KERNEL__ 37 extern int msm_thermal_ioctl_init(void); 38 extern void msm_thermal_ioctl_cleanup(void); 39 #endif 40 41 #endif 42