diff options
author | Punit Agrawal <punit.agrawal@arm.com> | 2014-07-29 14:50:50 +0400 |
---|---|---|
committer | Eduardo Valentin <edubezval@gmail.com> | 2014-07-29 17:28:43 +0400 |
commit | 208cd822a19e683bc890f6708786f2420e172d76 (patch) | |
tree | d4535734ba2e400b17eaabd365014c6b996ff9f1 /drivers/thermal/fair_share.c | |
parent | 39811569e43a81417bc0ddca3d0c7658c3dcd4b0 (diff) | |
download | linux-208cd822a19e683bc890f6708786f2420e172d76.tar.xz |
thermal: trace: Trace when temperature is above a trip point
Create a new event to trace when the temperature is above a trip
point. Use the trace-point when handling non-critical and critical
trip pionts.
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Eduardo Valentin <edubezval@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@redhat.com>
Signed-off-by: Punit Agrawal <punit.agrawal@arm.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
Diffstat (limited to 'drivers/thermal/fair_share.c')
-rw-r--r-- | drivers/thermal/fair_share.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/thermal/fair_share.c b/drivers/thermal/fair_share.c index 944ba2f340c8..6e0a3fbfae86 100644 --- a/drivers/thermal/fair_share.c +++ b/drivers/thermal/fair_share.c @@ -23,6 +23,7 @@ */ #include <linux/thermal.h> +#include <trace/events/thermal.h> #include "thermal_core.h" @@ -34,6 +35,7 @@ static int get_trip_level(struct thermal_zone_device *tz) { int count = 0; unsigned long trip_temp; + enum thermal_trip_type trip_type; if (tz->trips == 0 || !tz->ops->get_trip_temp) return 0; @@ -43,6 +45,16 @@ static int get_trip_level(struct thermal_zone_device *tz) if (tz->temperature < trip_temp) break; } + + /* + * count > 0 only if temperature is greater than first trip + * point, in which case, trip_point = count - 1 + */ + if (count > 0) { + tz->ops->get_trip_type(tz, count - 1, &trip_type); + trace_thermal_zone_trip(tz, count - 1, trip_type); + } + return count; } |