Re: [PATCH 5/5] iio: adc: stm32-adc: Drop runtime_idle()
From: Jonathan Cameron
Date: Sun Oct 18 2026 - 16:21:09 EST
On Tue, 6 Oct 2026 14:42:51 +0200
Fabrice Gasnier <fabrice.gasnier@xxxxxxxxxxx> wrote:
> On 10/3/26 01:03, Brian Norris wrote:
> > This runtime_idle() implementation was added in commit c537d3457542 ("iio:
> > adc: stm32-adc: fix runtime autosuspend delay when slow polling"), to work
> > around a suboptimal behavior in the runtime PM core. It should no longer
> > be necessary as of "PM: runtime: Propagate last_busy from dependent to
> > dependency".
> >
> > Cc: Jonathan Cameron <jic23@xxxxxxxxxx>
> > Cc: Fabrice Gasnier <fabrice.gasnier@xxxxxx>
> > Cc: Ulf Hansson <ulfh@xxxxxxxxxx>
> > Signed-off-by: Brian Norris <briannorris@xxxxxxxxxxxx>
> > ---
> > I do not have these devices to test. I have tested other drivers, and I've
> > verified this behavior in unit tests as well.
>
> Hi Brian,
>
> I've been able to reproduce on stm32 earlier behavior by applying this patch only.
> With the full series, so far, everything seems fine from my point of view.
>
> I haven't deeply inspected all the series, at least for the stm32-adc driver, you can add my:
>
> Tested-by: Fabrice Gasnier <fabrice.gasnier@xxxxxxxxxxx>
>
I'm fine with this going through whatever tree you like
Acked-by: Jonathan Cameron <jonathan.cameron@xxxxxxxxxxxxxxxx>
It seems unlikely to cause merge conflicts with other changes
to that driver, but might be worth an immutable branch, just in case.
> Thanks,
> Best Regards,
> Fabrice
>
> >
> > drivers/iio/adc/stm32-adc-core.c | 9 +--------
> > 1 file changed, 1 insertion(+), 8 deletions(-)
> >
> > diff --git a/drivers/iio/adc/stm32-adc-core.c b/drivers/iio/adc/stm32-adc-core.c
> > index a42d82d61cb8..e9e113a46ccf 100644
> > --- a/drivers/iio/adc/stm32-adc-core.c
> > +++ b/drivers/iio/adc/stm32-adc-core.c
> > @@ -836,17 +836,10 @@ static int stm32_adc_core_runtime_resume(struct device *dev)
> > return stm32_adc_core_hw_start(dev);
> > }
> >
> > -static int stm32_adc_core_runtime_idle(struct device *dev)
> > -{
> > - pm_runtime_mark_last_busy(dev);
> > -
> > - return 0;
> > -}
> > -
> > static DEFINE_RUNTIME_DEV_PM_OPS(stm32_adc_core_pm_ops,
> > stm32_adc_core_runtime_suspend,
> > stm32_adc_core_runtime_resume,
> > - stm32_adc_core_runtime_idle);
> > + NULL);
> >
> > static const struct stm32_adc_priv_cfg stm32f4_adc_priv_cfg = {
> > .regs = &stm32f4_adc_common_regs,
>