fc656fa14d
The slope of the temperature increase or decrease can be high and when the temperature crosses the trip point, there could be a significant difference between the trip temperature and the measured temperatures. That forces the userspace to read the temperature back right after receiving a trip violation notification. In order to be efficient, give the temperature which resulted in the trip violation. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Acked-by: Rafael J. Wysocki <rafael@kernel.org> Link: https://lore.kernel.org/r/20211001223323.1836640-1-daniel.lezcano@linaro.org
105 lines
2.4 KiB
C
105 lines
2.4 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Copyright (C) Linaro Ltd 2020
|
|
* Author: Daniel Lezcano <daniel.lezcano@linaro.org>
|
|
*/
|
|
|
|
/* Netlink notification function */
|
|
#ifdef CONFIG_THERMAL_NETLINK
|
|
int __init thermal_netlink_init(void);
|
|
int thermal_notify_tz_create(int tz_id, const char *name);
|
|
int thermal_notify_tz_delete(int tz_id);
|
|
int thermal_notify_tz_enable(int tz_id);
|
|
int thermal_notify_tz_disable(int tz_id);
|
|
int thermal_notify_tz_trip_down(int tz_id, int id, int temp);
|
|
int thermal_notify_tz_trip_up(int tz_id, int id, int temp);
|
|
int thermal_notify_tz_trip_delete(int tz_id, int id);
|
|
int thermal_notify_tz_trip_add(int tz_id, int id, int type,
|
|
int temp, int hyst);
|
|
int thermal_notify_tz_trip_change(int tz_id, int id, int type,
|
|
int temp, int hyst);
|
|
int thermal_notify_cdev_state_update(int cdev_id, int state);
|
|
int thermal_notify_cdev_add(int cdev_id, const char *name, int max_state);
|
|
int thermal_notify_cdev_delete(int cdev_id);
|
|
int thermal_notify_tz_gov_change(int tz_id, const char *name);
|
|
int thermal_genl_sampling_temp(int id, int temp);
|
|
#else
|
|
static inline int thermal_netlink_init(void)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline int thermal_notify_tz_create(int tz_id, const char *name)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline int thermal_notify_tz_delete(int tz_id)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline int thermal_notify_tz_enable(int tz_id)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline int thermal_notify_tz_disable(int tz_id)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline int thermal_notify_tz_trip_down(int tz_id, int id, int temp)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline int thermal_notify_tz_trip_up(int tz_id, int id, int temp)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline int thermal_notify_tz_trip_delete(int tz_id, int id)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline int thermal_notify_tz_trip_add(int tz_id, int id, int type,
|
|
int temp, int hyst)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline int thermal_notify_tz_trip_change(int tz_id, int id, int type,
|
|
int temp, int hyst)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline int thermal_notify_cdev_state_update(int cdev_id, int state)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline int thermal_notify_cdev_add(int cdev_id, const char *name,
|
|
int max_state)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline int thermal_notify_cdev_delete(int cdev_id)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline int thermal_notify_tz_gov_change(int tz_id, const char *name)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline int thermal_genl_sampling_temp(int id, int temp)
|
|
{
|
|
return 0;
|
|
}
|
|
#endif /* CONFIG_THERMAL_NETLINK */
|