Re: [PATCH] PM: runtime: Add kerneldoc comments to multiple helpers
From: Rafael J. Wysocki
Date: Mon Aug 03 2020 - 07:40:03 EST
On Mon, Aug 3, 2020 at 10:53 AM Sakari Ailus
> Hi Rafael,
> Thanks for the patch.
> On Fri, Jul 31, 2020 at 07:03:26PM +0200, Rafael J. Wysocki wrote:
> > From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> > Add kerneldoc comments to multiple PM-runtime helper functions
> > defined as static inline wrappers around lower-level routines to
> > provide quick reference decumentation of their behavior.
> > Some of them are similar to each other with subtle differences only
> > and the behavior of some of them may appear as counter-intuitive, so
> > clarify all that to avoid confusion.
> > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> > ---
> > include/linux/pm_runtime.h | 246 +++++++++++++++++++++++++++++++++++++++++++++
> > 1 file changed, 246 insertions(+)
> > Index: linux-pm/include/linux/pm_runtime.h
> > ===================================================================
> > --- linux-pm.orig/include/linux/pm_runtime.h
> > +++ linux-pm/include/linux/pm_runtime.h
> > @@ -60,58 +60,151 @@ extern void pm_runtime_put_suppliers(str
> > extern void pm_runtime_new_link(struct device *dev);
> > extern void pm_runtime_drop_link(struct device *dev);
> > +/**
> > + * pm_runtime_get_if_in_use - Conditionally bump up runtime PM usage counter.
> > + * @dev: Target device.
> > + *
> > + * Increment the runtime PM usage counter of @dev if its runtime PM status is
> > + * %RPM_ACTIVE and its runtime PM usage counter is greater than 0.
> The implementation of the non-runtime PM variants (used when CONFIG_PM is
> disabled) isn't here but I think it'd be nice if their behaviour was also
> documented here. pm_runtime_get_if_in_use() returns -EINVAL if CONFIG_PM is
> disabled, for instance.
These kerneldoc comments cover the CONFIG_PM case only. The behavior
for !CONFIG_PM needs to be figured out from the code, if it matters.
I'm not sure why it would matter for pm_runtime_get_if_in_use(), in particular?
> pm_runtime_disable() is defined here but the documentation in corresponding
> pm_runtime_enable() in drivers/base/power/runtime.c is rather terse. It'd
> be nice to improve that now (or separately).