Commit 57ed737f authored by Niklas Söderlund's avatar Niklas Söderlund Committed by Daniel Lezcano
Browse files

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: default avatarNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Reviewed-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20200310170029.1648996-3-niklas.soderlund+renesas@ragnatech.se
parent 7617e771
Loading
Loading
Loading
Loading
+10 −16
Original line number Diff line number Diff line
@@ -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. */