thermal/drivers/qcom: Use generic thermal_zone_get_trip() function
The thermal framework gives the possibility to register the trip points with the thermal zone. When that is done, no get_trip_* ops are needed and they can be removed. Convert ops content logic into generic trip points and register them with the thermal zone. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Acked-by: Amit Kucheria <amitk@kernel.org> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Link: https://lore.kernel.org/r/20221003092602.1323944-14-daniel.lezcano@linaro.org
This commit is contained in:
parent
68a306cc83
commit
1fa86b0a36
@ -264,17 +264,17 @@ skip:
|
||||
return qpnp_tm_write(chip, QPNP_TM_REG_SHUTDOWN_CTRL1, reg);
|
||||
}
|
||||
|
||||
static int qpnp_tm_set_trip_temp(struct thermal_zone_device *tz, int trip, int temp)
|
||||
static int qpnp_tm_set_trip_temp(struct thermal_zone_device *tz, int trip_id, int temp)
|
||||
{
|
||||
struct qpnp_tm_chip *chip = tz->devdata;
|
||||
const struct thermal_trip *trip_points;
|
||||
struct thermal_trip trip;
|
||||
int ret;
|
||||
|
||||
trip_points = of_thermal_get_trip_points(chip->tz_dev);
|
||||
if (!trip_points)
|
||||
return -EINVAL;
|
||||
ret = thermal_zone_get_trip(chip->tz_dev, trip_id, &trip);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
if (trip_points[trip].type != THERMAL_TRIP_CRITICAL)
|
||||
if (trip.type != THERMAL_TRIP_CRITICAL)
|
||||
return 0;
|
||||
|
||||
mutex_lock(&chip->lock);
|
||||
@ -300,22 +300,17 @@ static irqreturn_t qpnp_tm_isr(int irq, void *data)
|
||||
|
||||
static int qpnp_tm_get_critical_trip_temp(struct qpnp_tm_chip *chip)
|
||||
{
|
||||
int ntrips;
|
||||
const struct thermal_trip *trips;
|
||||
int i;
|
||||
struct thermal_trip trip;
|
||||
int i, ret;
|
||||
|
||||
ntrips = of_thermal_get_ntrips(chip->tz_dev);
|
||||
if (ntrips <= 0)
|
||||
return THERMAL_TEMP_INVALID;
|
||||
for (i = 0; i < thermal_zone_get_num_trips(chip->tz_dev); i++) {
|
||||
|
||||
trips = of_thermal_get_trip_points(chip->tz_dev);
|
||||
if (!trips)
|
||||
return THERMAL_TEMP_INVALID;
|
||||
ret = thermal_zone_get_trip(chip->tz_dev, i, &trip);
|
||||
if (ret)
|
||||
continue;
|
||||
|
||||
for (i = 0; i < ntrips; i++) {
|
||||
if (of_thermal_is_trip_valid(chip->tz_dev, i) &&
|
||||
trips[i].type == THERMAL_TRIP_CRITICAL)
|
||||
return trips[i].temperature;
|
||||
if (trip.type == THERMAL_TRIP_CRITICAL)
|
||||
return trip.temperature;
|
||||
}
|
||||
|
||||
return THERMAL_TEMP_INVALID;
|
||||
|
Loading…
x
Reference in New Issue
Block a user