thermal: rcar_thermal: Do not store ctemp in rcar_thermal_priv
authorNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Tue, 10 Mar 2020 17:00:28 +0000 (18:00 +0100)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Fri, 20 Mar 2020 11:17:48 +0000 (12:17 +0100)
There is no need to cache the ctemp value in the private data structure
as it's always prefetched before it's used. Remove it from the structure
and have rcar_thermal_update_temp return the value instead of storing
it.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20200310170029.1648996-3-niklas.soderlund+renesas@ragnatech.se
drivers/thermal/rcar_thermal.c

index fc54acdb914a27df8680407981dc22c0bb9fd97b..4a45b314ef30c9a17176510ccbd221536308caf6 100644 (file)
@@ -95,7 +95,6 @@ struct rcar_thermal_priv {
        struct mutex lock;
        struct list_head list;
        int id;
-       u32 ctemp;
 };
 
 #define rcar_thermal_for_each_priv(pos, common)        \
@@ -201,7 +200,6 @@ static int rcar_thermal_update_temp(struct rcar_thermal_priv *priv)
        struct device *dev = rcar_priv_to_dev(priv);
        int i;
        u32 ctemp, old, new;
-       int ret = -EINVAL;
 
        mutex_lock(&priv->lock);
 
@@ -247,32 +245,28 @@ static int rcar_thermal_update_temp(struct rcar_thermal_priv *priv)
                                                   ((ctemp - 1) << 0)));
        }
 
-       dev_dbg(dev, "thermal%d  %d -> %d\n", priv->id, priv->ctemp, ctemp);
-
-       priv->ctemp = ctemp;
-       ret = 0;
 err_out_unlock:
        mutex_unlock(&priv->lock);
-       return ret;
+
+       return ctemp ? ctemp : -EINVAL;
 }
 
 static int rcar_thermal_get_current_temp(struct rcar_thermal_priv *priv,
                                         int *temp)
 {
-       int tmp;
-       int ret;
+       int ctemp, tmp;
 
-       ret = rcar_thermal_update_temp(priv);
-       if (ret < 0)
-               return ret;
+       ctemp = rcar_thermal_update_temp(priv);
+       if (ctemp < 0)
+               return ctemp;
 
        mutex_lock(&priv->lock);
        if (priv->chip->ctemp_bands == 1)
-               tmp = MCELSIUS((priv->ctemp * 5) - 65);
-       else if (priv->ctemp < 24)
-               tmp = MCELSIUS(((priv->ctemp * 55) - 720) / 10);
+               tmp = MCELSIUS((ctemp * 5) - 65);
+       else if (ctemp < 24)
+               tmp = MCELSIUS(((ctemp * 55) - 720) / 10);
        else
-               tmp = MCELSIUS((priv->ctemp * 5) - 60);
+               tmp = MCELSIUS((ctemp * 5) - 60);
        mutex_unlock(&priv->lock);
 
        /* Guaranteed operating range is -45C to 125C. */