/* Get critical temperature callback functions for thermal zone */ static int exynos_get_crit_temp(struct thermal_zone_device *thermal, unsigned long *temp) { struct exynos_thermal_zone *th_zone = thermal->devdata; int max_trip = th_zone->sensor_conf->trip_data.trip_count; /* Get the temp of highest trip*/ return exynos_get_trip_temp(thermal, max_trip - 1, temp); }
/* Get critical temperature callback functions for thermal zone */ static int exynos_get_crit_temp(struct thermal_zone_device *thermal, unsigned long *temp) { int ret; /* Panic zone */ ret = exynos_get_trip_temp(thermal, GET_TRIP(PANIC_ZONE), temp); return ret; }
/* Get the temperature trend */ static int exynos_get_trend(struct thermal_zone_device *thermal, int trip, enum thermal_trend *trend) { int ret; unsigned long trip_temp; ret = exynos_get_trip_temp(thermal, trip, &trip_temp); if (ret < 0) return ret; if (thermal->temperature >= trip_temp) *trend = THERMAL_TREND_RAISE_FULL; else *trend = THERMAL_TREND_DROP_FULL; return 0; }