mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-16 13:17:02 +07:00
thermal: rcar: check every rcar_thermal_update_temp() return value
Every rcar_thermal_update_temp() return value will be checked. And also, rcar_thermal_get_temp() always call rcar_thermal_update_temp() by this patch. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
This commit is contained in:
parent
ca1e4558fc
commit
a1ade56538
@ -75,12 +75,6 @@ struct rcar_thermal_priv {
|
||||
#define rcar_has_irq_support(priv) ((priv)->common->base)
|
||||
#define rcar_id_to_shift(priv) ((priv)->id * 8)
|
||||
|
||||
#ifdef DEBUG
|
||||
# define rcar_force_update_temp(priv) 1
|
||||
#else
|
||||
# define rcar_force_update_temp(priv) 0
|
||||
#endif
|
||||
|
||||
static const struct of_device_id rcar_thermal_dt_ids[] = {
|
||||
{ .compatible = "renesas,rcar-thermal", },
|
||||
{},
|
||||
@ -209,9 +203,11 @@ static int rcar_thermal_update_temp(struct rcar_thermal_priv *priv)
|
||||
static int rcar_thermal_get_temp(struct thermal_zone_device *zone, int *temp)
|
||||
{
|
||||
struct rcar_thermal_priv *priv = rcar_zone_to_priv(zone);
|
||||
int ret;
|
||||
|
||||
if (!rcar_has_irq_support(priv) || rcar_force_update_temp(priv))
|
||||
rcar_thermal_update_temp(priv);
|
||||
ret = rcar_thermal_update_temp(priv);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
mutex_lock(&priv->lock);
|
||||
*temp = MCELSIUS((priv->ctemp * 5) - 65);
|
||||
@ -305,11 +301,15 @@ static void rcar_thermal_work(struct work_struct *work)
|
||||
{
|
||||
struct rcar_thermal_priv *priv;
|
||||
int cctemp, nctemp;
|
||||
int ret;
|
||||
|
||||
priv = container_of(work, struct rcar_thermal_priv, work.work);
|
||||
|
||||
rcar_thermal_get_temp(priv->zone, &cctemp);
|
||||
rcar_thermal_update_temp(priv);
|
||||
ret = rcar_thermal_update_temp(priv);
|
||||
if (ret < 0)
|
||||
return;
|
||||
|
||||
rcar_thermal_irq_enable(priv);
|
||||
|
||||
rcar_thermal_get_temp(priv->zone, &nctemp);
|
||||
@ -447,7 +447,9 @@ static int rcar_thermal_probe(struct platform_device *pdev)
|
||||
mutex_init(&priv->lock);
|
||||
INIT_LIST_HEAD(&priv->list);
|
||||
INIT_DELAYED_WORK(&priv->work, rcar_thermal_work);
|
||||
rcar_thermal_update_temp(priv);
|
||||
ret = rcar_thermal_update_temp(priv);
|
||||
if (ret < 0)
|
||||
goto error_unregister;
|
||||
|
||||
priv->zone = thermal_zone_device_register("rcar_thermal",
|
||||
1, 0, priv,
|
||||
|
Loading…
Reference in New Issue
Block a user