1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __THERMAL_THRESHOLDS_H__
3 #define __THERMAL_THRESHOLDS_H__
4 
5 struct user_threshold {
6 	struct list_head list_node;
7 	int temperature;
8 	int direction;
9 };
10 
11 int thermal_thresholds_init(struct thermal_zone_device *tz);
12 void thermal_thresholds_exit(struct thermal_zone_device *tz);
13 void thermal_thresholds_handle(struct thermal_zone_device *tz, int *low, int *high);
14 void thermal_thresholds_flush(struct thermal_zone_device *tz);
15 int thermal_thresholds_add(struct thermal_zone_device *tz, int temperature, int direction);
16 int thermal_thresholds_delete(struct thermal_zone_device *tz, int temperature, int direction);
17 int thermal_thresholds_for_each(struct thermal_zone_device *tz,
18 				int (*cb)(struct user_threshold *, void *arg), void *arg);
19 #endif
20