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