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