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 | |