1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Copyright (C) Linaro Ltd 2020 4 * Author: Daniel Lezcano <daniel.lezcano@linaro.org> 5 */ 6 7 struct thermal_genl_cpu_caps { 8 int cpu; 9 int performance; 10 int efficiency; 11 }; 12 13 struct thermal_zone_device; 14 struct thermal_trip; 15 struct thermal_cooling_device; 16 17 /* Netlink notification function */ 18 #ifdef CONFIG_THERMAL_NETLINK 19 int __init thermal_netlink_init(void); 20 void __init thermal_netlink_exit(void); 21 int thermal_notify_tz_create(const struct thermal_zone_device *tz); 22 int thermal_notify_tz_delete(const struct thermal_zone_device *tz); 23 int thermal_notify_tz_enable(const struct thermal_zone_device *tz); 24 int thermal_notify_tz_disable(const struct thermal_zone_device *tz); 25 int thermal_notify_tz_trip_down(const struct thermal_zone_device *tz, 26 const struct thermal_trip *trip); 27 int thermal_notify_tz_trip_up(const struct thermal_zone_device *tz, 28 const struct thermal_trip *trip); 29 int thermal_notify_tz_trip_change(const struct thermal_zone_device *tz, 30 const struct thermal_trip *trip); 31 int thermal_notify_cdev_state_update(const struct thermal_cooling_device *cdev, 32 int state); 33 int thermal_notify_cdev_add(const struct thermal_cooling_device *cdev); 34 int thermal_notify_cdev_delete(const struct thermal_cooling_device *cdev); 35 int thermal_notify_tz_gov_change(const struct thermal_zone_device *tz, 36 const char *name); 37 int thermal_genl_sampling_temp(int id, int temp); 38 int thermal_genl_cpu_capability_event(int count, 39 struct thermal_genl_cpu_caps *caps); 40 #else 41 static inline int thermal_netlink_init(void) 42 { 43 return 0; 44 } 45 46 static inline int thermal_notify_tz_create(const struct thermal_zone_device *tz) 47 { 48 return 0; 49 } 50 51 static inline int thermal_notify_tz_delete(const struct thermal_zone_device *tz) 52 { 53 return 0; 54 } 55 56 static inline int thermal_notify_tz_enable(const struct thermal_zone_device *tz) 57 { 58 return 0; 59 } 60 61 static inline int thermal_notify_tz_disable(const struct thermal_zone_device *tz) 62 { 63 return 0; 64 } 65 66 static inline int thermal_notify_tz_trip_down(const struct thermal_zone_device *tz, 67 const struct thermal_trip *trip) 68 { 69 return 0; 70 } 71 72 static inline int thermal_notify_tz_trip_up(const struct thermal_zone_device *tz, 73 const struct thermal_trip *trip) 74 { 75 return 0; 76 } 77 78 static inline int thermal_notify_tz_trip_change(const struct thermal_zone_device *tz, 79 const struct thermal_trip *trip) 80 { 81 return 0; 82 } 83 84 static inline int thermal_notify_cdev_state_update(const struct thermal_cooling_device *cdev, 85 int state) 86 { 87 return 0; 88 } 89 90 static inline int thermal_notify_cdev_add(const struct thermal_cooling_device *cdev) 91 { 92 return 0; 93 } 94 95 static inline int thermal_notify_cdev_delete(const struct thermal_cooling_device *cdev) 96 { 97 return 0; 98 } 99 100 static inline int thermal_notify_tz_gov_change(const struct thermal_zone_device *tz, 101 const char *name) 102 { 103 return 0; 104 } 105 106 static inline int thermal_genl_sampling_temp(int id, int temp) 107 { 108 return 0; 109 } 110 111 static inline int thermal_genl_cpu_capability_event(int count, struct thermal_genl_cpu_caps *caps) 112 { 113 return 0; 114 } 115 116 static inline void __init thermal_netlink_exit(void) {} 117 118 #endif /* CONFIG_THERMAL_NETLINK */ 119