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