lkml.org 
[lkml]   [2022]   [Aug]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH v1 11/26] thermal/drivers/qcom: Use generic thermal_zone_get_trip() function
    On Fri, Aug 5, 2022 at 8:28 PM Daniel Lezcano <daniel.lezcano@linaro.org> wrote:
    >
    > 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>

    > ---
    > drivers/thermal/qcom/qcom-spmi-temp-alarm.c | 39 +++++++++------------
    > 1 file changed, 17 insertions(+), 22 deletions(-)
    >
    > diff --git a/drivers/thermal/qcom/qcom-spmi-temp-alarm.c b/drivers/thermal/qcom/qcom-spmi-temp-alarm.c
    > index be785ab37e53..127e8c90211c 100644
    > --- a/drivers/thermal/qcom/qcom-spmi-temp-alarm.c
    > +++ b/drivers/thermal/qcom/qcom-spmi-temp-alarm.c
    > @@ -263,17 +263,17 @@ static int qpnp_tm_update_critical_trip_temp(struct qpnp_tm_chip *chip,
    > 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);
    > @@ -299,22 +299,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;
    > -
    > - ntrips = of_thermal_get_ntrips(chip->tz_dev);
    > - if (ntrips <= 0)
    > - return THERMAL_TEMP_INVALID;
    > -
    > - trips = of_thermal_get_trip_points(chip->tz_dev);
    > - if (!trips)
    > - return THERMAL_TEMP_INVALID;
    > -
    > - 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;
    > + 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;
    > --
    > 2.25.1
    >

    \
     
     \ /
      Last update: 2022-08-06 08:28    [W:2.389 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site