Commit ab446887 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

thermal: qcom: Use thermal_zone_get_crit_temp() in qpnp_tm_init()



Modify qpnp_tm_init() to use thermal_zone_get_crit_temp() to get the
critical trip temperature instead of iterating over trip indices and
using thermal_zone_get_trip() to get a struct thermal_trip pointer
from a trip index until it finds the critical one.

Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: default avatarLukasz Luba <lukasz.luba@arm.com>
Link: https://patch.msgid.link/7712228.EvYhyI6sBW@rjwysocki.net
parent 1ac1503c
Loading
Loading
Loading
Loading
+3 −19
Original line number Diff line number Diff line
@@ -291,24 +291,6 @@ static irqreturn_t qpnp_tm_isr(int irq, void *data)
	return IRQ_HANDLED;
}

static int qpnp_tm_get_critical_trip_temp(struct qpnp_tm_chip *chip)
{
	struct thermal_trip trip;
	int i, ret;

	for (i = 0; i < thermal_zone_get_num_trips(chip->tz_dev); i++) {

		ret = thermal_zone_get_trip(chip->tz_dev, i, &trip);
		if (ret)
			continue;

		if (trip.type == THERMAL_TRIP_CRITICAL)
			return trip.temperature;
	}

	return THERMAL_TEMP_INVALID;
}

/*
 * This function initializes the internal temp value based on only the
 * current thermal stage and threshold. Setup threshold control and
@@ -343,7 +325,9 @@ static int qpnp_tm_init(struct qpnp_tm_chip *chip)

	mutex_unlock(&chip->lock);

	crit_temp = qpnp_tm_get_critical_trip_temp(chip);
	ret = thermal_zone_get_crit_temp(chip->tz_dev, &crit_temp);
	if (ret)
		crit_temp = THERMAL_TEMP_INVALID;

	mutex_lock(&chip->lock);