thermal: rcar_thermal: Do not store ctemp in rcar_thermal_priv

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
This commit is contained in:
Niklas Söderlund 2020-03-10 18:00:28 +01:00 committed by Daniel Lezcano
parent 7617e771c1
commit 57ed737f16
1 changed files with 10 additions and 16 deletions

View 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. */