[PATCH 5/5] iio: adc: stm32-adc: Drop runtime_idle()

Jonathan Cameron jic23 at kernel.org
Sun Oct 18 13:20:53 PDT 2026


On Tue, 6 Oct 2026 14:42:51 +0200
Fabrice Gasnier <fabrice.gasnier at foss.st.com> 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 at kernel.org>
> > Cc: Fabrice Gasnier <fabrice.gasnier at st.com>
> > Cc: Ulf Hansson <ulfh at kernel.org>
> > Signed-off-by: Brian Norris <briannorris at chromium.org>
> > ---
> > 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 at foss.st.com>
> 
I'm fine with this going through whatever tree you like
Acked-by: Jonathan Cameron <jonathan.cameron at oss.qualcomm.com>

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,  
> 




More information about the linux-arm-kernel mailing list