Re: [PATCH v4 3/3] PM: runtime: Clarify documentation when callbacks are unassigned

From: Alan Stern
Date: Wed Jun 09 2021 - 10:16:28 EST


On Wed, Jun 09, 2021 at 12:06:10PM +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@xxxxxxxxxx>
> ---
>
> Changes in v4:
> - This time, really, fix spelling and further clarified the behaviour,
> according to comments from Alan.
>
> ---
> Documentation/power/runtime_pm.rst | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/Documentation/power/runtime_pm.rst b/Documentation/power/runtime_pm.rst
> index 18ae21bf7f92..8a0a43811e3a 100644
> --- a/Documentation/power/runtime_pm.rst
> +++ b/Documentation/power/runtime_pm.rst
> @@ -827,6 +827,15 @@ 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 managed
> +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. More precisely, if a callback pointer is NULL, the PM core will act
> +as though there was a callback and it returned 0.
> +
> 9. Autosuspend, or automatically-delayed suspends
> =================================================

Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>

I don't know what happened before. Maybe the terminal window got
resized without me noticing, so the lines looked too long when they
actually weren't.

Alan Stern