xref: /linux/drivers/thermal/thermal_netlink.h (revision 4b660dbd9ee2059850fd30e0df420ca7a38a1856)
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