LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rafael@kernel.org>
To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Cc: "Rafael J. Wysocki" <rafael@kernel.org>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Pavel Machek <pavel@ucw.cz>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Stephen Boyd <sboyd@kernel.org>, Taniya Das <tdas@codeaurora.org>,
Michael Turquette <mturquette@baylibre.com>,
Andy Gross <agross@kernel.org>,
Bjorn Andersson <bjorn.andersson@linaro.org>,
Linux PM <linux-pm@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
linux-clk <linux-clk@vger.kernel.org>,
linux-arm-msm <linux-arm-msm@vger.kernel.org>
Subject: Re: [PATCH v3 1/3] PM: runtime: add devm_pm_runtime_enable helper
Date: Fri, 6 Aug 2021 15:27:51 +0200 [thread overview]
Message-ID: <CAJZ5v0gOZkXp3X3hNTAtyuFoBA2xUMX274qv=yaj0jYD8XRgBw@mail.gmail.com> (raw)
In-Reply-To: <CAA8EJpq5DB2a=C+eo_S7QgVMzpm=mvUcC4DkWwGoKQ1g8trmgA@mail.gmail.com>
On Wed, Aug 4, 2021 at 11:03 PM Dmitry Baryshkov
<dmitry.baryshkov@linaro.org> wrote:
>
> On Wed, 4 Aug 2021 at 21:07, Rafael J. Wysocki <rafael@kernel.org> wrote:
> >
> > On Sat, Jul 31, 2021 at 9:50 PM Dmitry Baryshkov
> > <dmitry.baryshkov@linaro.org> wrote:
> > >
> > > A typical code pattern for pm_runtime_enable() call is to call it in the
> > > _probe function and to call pm_runtime_disable() both from _probe error
> > > path and from _remove function. For some drivers the whole remove
> > > function would consist of the call to pm_remove_disable().
> > >
> > > Add helper function to replace this bolierplate piece of code. Calling
> > > devm_pm_runtime_enable() removes the need for calling
> > > pm_runtime_disable() both in the probe()'s error path and in the
> > > remove() function.
> > >
> > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > > ---
> > > drivers/base/power/runtime.c | 17 +++++++++++++++++
> > > include/linux/pm_runtime.h | 4 ++++
> > > 2 files changed, 21 insertions(+)
> > >
> > > diff --git a/drivers/base/power/runtime.c b/drivers/base/power/runtime.c
> > > index 8a66eaf731e4..ec94049442b9 100644
> > > --- a/drivers/base/power/runtime.c
> > > +++ b/drivers/base/power/runtime.c
> > > @@ -1447,6 +1447,23 @@ void pm_runtime_enable(struct device *dev)
> > > }
> > > EXPORT_SYMBOL_GPL(pm_runtime_enable);
> > >
> > > +static void pm_runtime_disable_action(void *data)
> > > +{
> > > + pm_runtime_disable(data);
> > > +}
> > > +
> > > +/**
> > > + * devm_pm_runtime_enable - devres-enabled version of pm_runtime_enable.
> > > + * @dev: Device to handle.
> > > + */
> > > +int devm_pm_runtime_enable(struct device *dev)
> > > +{
> > > + pm_runtime_enable(dev);
> > > +
> > > + return devm_add_action_or_reset(dev, pm_runtime_disable_action, dev);
> >
> > When exactly is pm_runtime_disable_action() going to run by this rule?
> > When the device goes away or when the driver is unbound from it?
>
> When the driver is unbound (either because probe() returns an error or
> because __device_release_driver() is being called).
> This corresponds to a typical call to pm_runtime_disable() from the
> probe()'s error path or in the remove() callback.
OK, so
Acked-by: Rafael J. Wysocki <rafael@kernel.org>
for the PM-runtime framework changes in this series (patches [1-2/3])
and please feel free to route them in through whatever tree is most
suitable (or let me know if you want me to pick them up).
next prev parent reply other threads:[~2021-08-06 13:28 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-31 19:50 [PATCH v3 0/3] PM: add two devres helpers and use them in qcom cc Dmitry Baryshkov
2021-07-31 19:50 ` [PATCH v3 1/3] PM: runtime: add devm_pm_runtime_enable helper Dmitry Baryshkov
2021-08-04 18:06 ` Rafael J. Wysocki
2021-08-04 21:02 ` Dmitry Baryshkov
2021-08-06 13:27 ` Rafael J. Wysocki [this message]
2021-07-31 19:50 ` [PATCH v3 2/3] PM: runtime: add devm_pm_clk_create helper Dmitry Baryshkov
2021-08-31 12:15 ` Geert Uytterhoeven
2021-07-31 19:50 ` [PATCH v3 3/3] clk: qcom: use devm_pm_runtime_enable and devm_pm_clk_create Dmitry Baryshkov
2021-08-04 18:12 ` Rafael J. Wysocki
[not found] ` <162820760640.19113.2386978922035728014@swboyd.mtv.corp.google.com>
2021-08-06 7:08 ` [PATCH v3 0/3] PM: add two devres helpers and use them in qcom cc Dmitry Baryshkov
2021-08-16 17:08 ` Dmitry Baryshkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAJZ5v0gOZkXp3X3hNTAtyuFoBA2xUMX274qv=yaj0jYD8XRgBw@mail.gmail.com' \
--to=rafael@kernel.org \
--cc=agross@kernel.org \
--cc=bjorn.andersson@linaro.org \
--cc=dmitry.baryshkov@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=pavel@ucw.cz \
--cc=rjw@rjwysocki.net \
--cc=sboyd@kernel.org \
--cc=tdas@codeaurora.org \
--subject='Re: [PATCH v3 1/3] PM: runtime: add devm_pm_runtime_enable helper' \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).