Re: [PATCH] thermal: rcar_thermal: Clean up rcar_thermal_update_temp()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Niklas,

On Wed, Apr 15, 2020 at 7:23 PM Niklas Söderlund
<niklas.soderlund+renesas@xxxxxxxxxxxx> wrote:
> Moving the ctemp variable out of the private data structure made it
> possible to clean up rcar_thermal_update_temp(). Initialize the local
> ctemp to the error code to return if the reading fails and just return
> it at the end of the function.
>
> It's OK to change the datatype of old, new and ctemp to int as all
> values are AND with CTEMP (0x3f) before being stored. While at it

ANDed

> change the datatype of the loop variable 'i' to to unsigned int.
>
> Suggested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@xxxxxxxxxxxx>

Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>

One small suggestion below.

> --- a/drivers/thermal/rcar_thermal.c
> +++ b/drivers/thermal/rcar_thermal.c
> @@ -198,8 +198,8 @@ static void _rcar_thermal_bset(struct rcar_thermal_priv *priv, u32 reg,
>  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 old, new, ctemp = -EINVAL;
> +       unsigned int i;
>
>         mutex_lock(&priv->lock);
>
> @@ -209,7 +209,6 @@ static int rcar_thermal_update_temp(struct rcar_thermal_priv *priv)
>          */
>         rcar_thermal_bset(priv, THSCR, CPCTL, CPCTL);
>
> -       ctemp = 0;
>         old = ~0;
>         for (i = 0; i < 128; i++) {
>                 /*
> @@ -227,7 +226,7 @@ static int rcar_thermal_update_temp(struct rcar_thermal_priv *priv)
>                 old = new;
>         }
>
> -       if (!ctemp) {
> +       if (ctemp == -EINVAL) {

I think "if (ctemp < 0)" is safer, as it doesn't rely on the actual error code.

>                 dev_err(dev, "thermal sensor was broken\n");
>                 goto err_out_unlock;
>         }
> @@ -248,7 +247,7 @@ static int rcar_thermal_update_temp(struct rcar_thermal_priv *priv)
>  err_out_unlock:
>         mutex_unlock(&priv->lock);
>
> -       return ctemp ? ctemp : -EINVAL;
> +       return ctemp;
>  }

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux