diff mbox series

[v2,3/3] PM: runtime: Clarify documentation when callbacks are unassigned

Message ID 20210608090250.85256-4-ulf.hansson@linaro.org
State Superseded
Headers show
Series PM: runtime: Update behaviour for no callbacks | expand

Commit Message

Ulf Hansson June 8, 2021, 9:02 a.m. UTC
Recent changes to the PM core allows ->runtime_suspend|resume callbacks to
be unassigned.

In the earlier behaviour the PM core would return -ENOSYS, when trying to
runtime resume a device, for example. Let's update the documentation to
clarify this.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>

---

Changes in v2:
	- Added a new patch for the updating the docs, as pointed out by Alan.

---
 Documentation/power/runtime_pm.rst | 8 ++++++++
 1 file changed, 8 insertions(+)

-- 
2.25.1

Comments

Alan Stern June 8, 2021, 2:23 p.m. UTC | #1
On Tue, Jun 08, 2021 at 11:02:50AM +0200, Ulf Hansson wrote:
> Recent changes to the PM core allows ->runtime_suspend|resume callbacks to

> be unassigned.

> 

> In the earlier behaviour the PM core would return -ENOSYS, when trying to

> runtime resume a device, for example. Let's update the documentation to

> clarify this.

> 

> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>

> ---

> 

> Changes in v2:

> 	- Added a new patch for the updating the docs, as pointed out by Alan.

> 

> ---

>  Documentation/power/runtime_pm.rst | 8 ++++++++

>  1 file changed, 8 insertions(+)

> 

> diff --git a/Documentation/power/runtime_pm.rst b/Documentation/power/runtime_pm.rst

> index 18ae21bf7f92..3d09c9fd450d 100644

> --- a/Documentation/power/runtime_pm.rst

> +++ b/Documentation/power/runtime_pm.rst

> @@ -827,6 +827,14 @@ or driver about runtime power changes.  Instead, the driver for the device's

>  parent must take responsibility for telling the device's driver when the

>  parent's power state changes.

>  

> +Note that, in some cases it may not be desirable for subsystems/drivers to call

> +pm_runtime_no_callbacks() for their devices. This could be because a subset of

> +the runtime PM callbacks needs to be implemented, a platform dependent PM

> +domain could get attached to the device or that the device is power manged

> +through a supplier device link. For these reasons and to avoid boilerplate code

> +in subsystems/drivers, the PM core allows runtime PM callbacks to be

> +unassigned.

> +


You should also mention that if a callback pointer is NULL, the 
runtime PM core will act as though there was a callback and it 
returned 0.  That's an important consideration.

Also, notice that this file was carefully edited to make sure that 
none of the lines exceed 80 characters.  Your new addition should 
be the same.

Alan Stern
Ulf Hansson June 8, 2021, 2:30 p.m. UTC | #2
On Tue, 8 Jun 2021 at 16:23, Alan Stern <stern@rowland.harvard.edu> wrote:
>

> On Tue, Jun 08, 2021 at 11:02:50AM +0200, Ulf Hansson wrote:

> > Recent changes to the PM core allows ->runtime_suspend|resume callbacks to

> > be unassigned.

> >

> > In the earlier behaviour the PM core would return -ENOSYS, when trying to

> > runtime resume a device, for example. Let's update the documentation to

> > clarify this.

> >

> > Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>

> > ---

> >

> > Changes in v2:

> >       - Added a new patch for the updating the docs, as pointed out by Alan.

> >

> > ---

> >  Documentation/power/runtime_pm.rst | 8 ++++++++

> >  1 file changed, 8 insertions(+)

> >

> > diff --git a/Documentation/power/runtime_pm.rst b/Documentation/power/runtime_pm.rst

> > index 18ae21bf7f92..3d09c9fd450d 100644

> > --- a/Documentation/power/runtime_pm.rst

> > +++ b/Documentation/power/runtime_pm.rst

> > @@ -827,6 +827,14 @@ or driver about runtime power changes.  Instead, the driver for the device's

> >  parent must take responsibility for telling the device's driver when the

> >  parent's power state changes.

> >

> > +Note that, in some cases it may not be desirable for subsystems/drivers to call

> > +pm_runtime_no_callbacks() for their devices. This could be because a subset of

> > +the runtime PM callbacks needs to be implemented, a platform dependent PM

> > +domain could get attached to the device or that the device is power manged

> > +through a supplier device link. For these reasons and to avoid boilerplate code

> > +in subsystems/drivers, the PM core allows runtime PM callbacks to be

> > +unassigned.

> > +

>

> You should also mention that if a callback pointer is NULL, the

> runtime PM core will act as though there was a callback and it

> returned 0.  That's an important consideration.


Good point, let me add it.

I send a new version of $subject patch, unless Rafael is happy to do
the amending when/if applying?

>

> Also, notice that this file was carefully edited to make sure that

> none of the lines exceed 80 characters.  Your new addition should

> be the same.


Absolutely, but it should be okay already, no?

>

> Alan Stern


Kind regards
Uffe
Alan Stern June 8, 2021, 2:49 p.m. UTC | #3
On Tue, Jun 08, 2021 at 04:30:48PM +0200, Ulf Hansson wrote:
> On Tue, 8 Jun 2021 at 16:23, Alan Stern <stern@rowland.harvard.edu> wrote:

> >

> > On Tue, Jun 08, 2021 at 11:02:50AM +0200, Ulf Hansson wrote:

> > > Recent changes to the PM core allows ->runtime_suspend|resume callbacks to

> > > be unassigned.

> > >

> > > In the earlier behaviour the PM core would return -ENOSYS, when trying to

> > > runtime resume a device, for example. Let's update the documentation to

> > > clarify this.

> > >

> > > Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>

> > > ---

> > >

> > > Changes in v2:

> > >       - Added a new patch for the updating the docs, as pointed out by Alan.

> > >

> > > ---

> > >  Documentation/power/runtime_pm.rst | 8 ++++++++

> > >  1 file changed, 8 insertions(+)

> > >

> > > diff --git a/Documentation/power/runtime_pm.rst b/Documentation/power/runtime_pm.rst

> > > index 18ae21bf7f92..3d09c9fd450d 100644

> > > --- a/Documentation/power/runtime_pm.rst

> > > +++ b/Documentation/power/runtime_pm.rst

> > > @@ -827,6 +827,14 @@ or driver about runtime power changes.  Instead, the driver for the device's

> > >  parent must take responsibility for telling the device's driver when the

> > >  parent's power state changes.

> > >

> > > +Note that, in some cases it may not be desirable for subsystems/drivers to call


More than 80 chars.

> > > +pm_runtime_no_callbacks() for their devices. This could be because a subset of


More than 80 chars.

> > > +the runtime PM callbacks needs to be implemented, a platform dependent PM

> > > +domain could get attached to the device or that the device is power manged


s/manged/managed/

> > > +through a supplier device link. For these reasons and to avoid boilerplate code


More than 80 chars.

> > > +in subsystems/drivers, the PM core allows runtime PM callbacks to be

> > > +unassigned.

> > > +

> >

> > You should also mention that if a callback pointer is NULL, the

> > runtime PM core will act as though there was a callback and it

> > returned 0.  That's an important consideration.

> 

> Good point, let me add it.

> 

> I send a new version of $subject patch, unless Rafael is happy to do

> the amending when/if applying?

> 

> >

> > Also, notice that this file was carefully edited to make sure that

> > none of the lines exceed 80 characters.  Your new addition should

> > be the same.

> 

> Absolutely, but it should be okay already, no?


See above.

Alan
Ulf Hansson June 9, 2021, 9:45 a.m. UTC | #4
On Tue, 8 Jun 2021 at 16:49, Alan Stern <stern@rowland.harvard.edu> wrote:
>

> On Tue, Jun 08, 2021 at 04:30:48PM +0200, Ulf Hansson wrote:

> > On Tue, 8 Jun 2021 at 16:23, Alan Stern <stern@rowland.harvard.edu> wrote:

> > >

> > > On Tue, Jun 08, 2021 at 11:02:50AM +0200, Ulf Hansson wrote:

> > > > Recent changes to the PM core allows ->runtime_suspend|resume callbacks to

> > > > be unassigned.

> > > >

> > > > In the earlier behaviour the PM core would return -ENOSYS, when trying to

> > > > runtime resume a device, for example. Let's update the documentation to

> > > > clarify this.

> > > >

> > > > Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>

> > > > ---

> > > >

> > > > Changes in v2:

> > > >       - Added a new patch for the updating the docs, as pointed out by Alan.

> > > >

> > > > ---

> > > >  Documentation/power/runtime_pm.rst | 8 ++++++++

> > > >  1 file changed, 8 insertions(+)

> > > >

> > > > diff --git a/Documentation/power/runtime_pm.rst b/Documentation/power/runtime_pm.rst

> > > > index 18ae21bf7f92..3d09c9fd450d 100644

> > > > --- a/Documentation/power/runtime_pm.rst

> > > > +++ b/Documentation/power/runtime_pm.rst

> > > > @@ -827,6 +827,14 @@ or driver about runtime power changes.  Instead, the driver for the device's

> > > >  parent must take responsibility for telling the device's driver when the

> > > >  parent's power state changes.

> > > >

> > > > +Note that, in some cases it may not be desirable for subsystems/drivers to call

>

> More than 80 chars.


Perhaps it's the email client that messes up the patch in some way.
This above line in the patch is 79 chars.

If you have a look at the patch in patchwork [1], you should see (I
hope) that it respects the 80 chars per line!?

>

> > > > +pm_runtime_no_callbacks() for their devices. This could be because a subset of

>

> More than 80 chars.

>

> > > > +the runtime PM callbacks needs to be implemented, a platform dependent PM

> > > > +domain could get attached to the device or that the device is power manged

>

> s/manged/managed/


Thanks for spotting this, my spell checker accepted "manged". :-)

>

> > > > +through a supplier device link. For these reasons and to avoid boilerplate code

>

> More than 80 chars.

>

> > > > +in subsystems/drivers, the PM core allows runtime PM callbacks to be

> > > > +unassigned.

> > > > +

> > >

> > > You should also mention that if a callback pointer is NULL, the

> > > runtime PM core will act as though there was a callback and it

> > > returned 0.  That's an important consideration.

> >

> > Good point, let me add it.

> >

> > I send a new version of $subject patch, unless Rafael is happy to do

> > the amending when/if applying?

> >

> > >

> > > Also, notice that this file was carefully edited to make sure that

> > > none of the lines exceed 80 characters.  Your new addition should

> > > be the same.

> >

> > Absolutely, but it should be okay already, no?

>

> See above.

>

> Alan


Kind regards
Uffe

[1]
https://patchwork.kernel.org/project/linux-pm/patch/20210608090250.85256-4-ulf.hansson@linaro.org/
diff mbox series

Patch

diff --git a/Documentation/power/runtime_pm.rst b/Documentation/power/runtime_pm.rst
index 18ae21bf7f92..3d09c9fd450d 100644
--- a/Documentation/power/runtime_pm.rst
+++ b/Documentation/power/runtime_pm.rst
@@ -827,6 +827,14 @@  or driver about runtime power changes.  Instead, the driver for the device's
 parent must take responsibility for telling the device's driver when the
 parent's power state changes.
 
+Note that, in some cases it may not be desirable for subsystems/drivers to call
+pm_runtime_no_callbacks() for their devices. This could be because a subset of
+the runtime PM callbacks needs to be implemented, a platform dependent PM
+domain could get attached to the device or that the device is power manged
+through a supplier device link. For these reasons and to avoid boilerplate code
+in subsystems/drivers, the PM core allows runtime PM callbacks to be
+unassigned.
+
 9. Autosuspend, or automatically-delayed suspends
 =================================================