Re: [PATCH 1/3] iio: temperature: mlx90632 Add runtime powermanagement modes

From: Crt Mori
Date: Sat Sep 03 2022 - 08:06:24 EST


On Fri, 2 Sept 2022 at 20:39, Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote:
>
> On Fri, Sep 2, 2022 at 8:59 PM Crt Mori <cmo@xxxxxxxxxxx> wrote:
> > On Fri, 2 Sept 2022 at 17:28, Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote:
> > > On Fri, Sep 2, 2022 at 4:13 PM <cmo@xxxxxxxxxxx> wrote:
> > > > + if (current_powerstatus == MLX90632_PWR_STATUS_SLEEP_STEP)
> > > > + return mlx90632_pwr_set_sleep_step(data->regmap);
> > >
> > > > + else
> > >
> > > Redundant.
> > >
> > No, the powermode changes among the type.
>
> Yes. 'else' keyword is always redundant in the
>
> if (...)
> return / break / continue / goto
> else
>
> cases.
>
In this case current power mode of the sensor is halt, so the else is
needed to set it to continuous mode, which means I can't just remove
the else here because this statement restores the power mode before
this function was entered (and changed powermode for the setup).

> > > > + return mlx90632_pwr_continuous(data->regmap);
>
> ...
>
> > > > +static int __maybe_unused mlx90632_pm_runtime_suspend(struct device *dev)
> > >
> > > No __maybe_unused, use pm_ptr() / pm_sleep_ptr() below.
> > >
> > Care to explain a bit more about this? I just followed what other
> > drivers have...
>
> And other drivers have what I said, but it's a new feature.
> If you run `git log --no-merges --grep 'pm_ptr' -- drivers/iio
> include/linux/` and read the history it will explain the case.
>
Thanks for the hint.