Re: [PATCH v1] PCI / PM: Really allow runtime PM without callback functions

From: Bjorn Helgaas
Date: Wed Feb 14 2024 - 11:58:18 EST

On Wed, Feb 14, 2024 at 08:58:48AM +0200, Jarkko Nikula wrote:
> On 2/13/24 22:06, Bjorn Helgaas wrote:
> > > Debugged-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
> >
> > Sounds like this resolves a problem report? Is there a URL we can
> > cite? If not, at least a mention of what the user-visible problem is?
> >
> > From the c5eb1190074c commit log, it sounds like maybe this allows
> > devices to be autosuspended when they previously could not be?
> >
> > Possibly this should have "Fixes: c5eb1190074c ("PCI / PM: Allow
> > runtime PM without callback functions")" since it sounds like it goes
> > with it?
> >
> I don't think there's known regression but my above commit wasn't complete.
> Autosuspending works without runtime PM callback as long as the driver has
> the PM callbacks structure set.

I didn't suggest there was a regression, but if we mention that Mika
debugged something, I want to know what the something was.

I'm guessing runtime PM doesn't work for some subset of drivers, and
this patch fixes that. So let's say exactly how to find that subset
of drivers, e.g., "drivers that implement X but not Y" or whatever.

> For example the drivers/i2c/busses/i2c-i801.c has system suspend/resume
> callbacks. I tested this patch by hack-removing them and yes, autosuspend
> doesn't work without this patch.
> Raag and Mika noticed the issue when cleaning up empty runtime PM callbacks
> from an another driver which doesn't have any other PM callbacks.