From: Jon Hunter <jonathanh@nvidia.com> To: "Rafael J . Wysocki" <rjw@rjwysocki.net>, Kevin Hilman <khilman@kernel.org>, Ulf Hansson <ulf.hansson@linaro.org>, geert@linux-m68k.org, rnayak@codeaurora.org Cc: stanimir.varbanov@linaro.org, sboyd@codeaurora.org, Marek Szyprowski <m.szyprowski@samsung.com>, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-tegra@vger.kernel.org, Jon Hunter <jonathanh@nvidia.com> Subject: [RFC PATCH 1/4] PM / Domains: Prepare for supporting explicit PM domain control Date: Tue, 28 Mar 2017 15:14:00 +0100 [thread overview] Message-ID: <1490710443-27425-2-git-send-email-jonathanh@nvidia.com> (raw) In-Reply-To: <1490710443-27425-1-git-send-email-jonathanh@nvidia.com> The generic PM domain framework only supports consumers that require a single PM domain. In order to extend the framework so that consumers can explicitly control more than one PM domain, detect if the consumers specifies more than one PM domain and if it does then don't automatically bind the device with any of the PM domains and (leap of faith!) assume the consumer knows what to do! Signed-off-by: Jon Hunter <jonathanh@nvidia.com> --- drivers/base/power/domain.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c index e697dec9d25b..0eb75954c087 100644 --- a/drivers/base/power/domain.c +++ b/drivers/base/power/domain.c @@ -2011,6 +2011,16 @@ int genpd_dev_pm_attach(struct device *dev) if (dev->pm_domain) return -EEXIST; + /* + * If there are more than one PM domain defined for a device, + * then these need to be manually controlled by the driver + * that device, because the genpd core cannot bind a device + * with more than one PM domain. + */ + if (of_count_phandle_with_args(dev->of_node, "power-domains", + "#power-domain-cells") > 1) + return 0; + ret = of_parse_phandle_with_args(dev->of_node, "power-domains", "#power-domain-cells", 0, &pd_args); if (ret < 0) { -- 2.7.4
WARNING: multiple messages have this Message-ID (diff)
From: Jon Hunter <jonathanh@nvidia.com> To: "Rafael J . Wysocki" <rjw@rjwysocki.net>, Kevin Hilman <khilman@kernel.org>, Ulf Hansson <ulf.hansson@linaro.org>, <geert@linux-m68k.org>, <rnayak@codeaurora.org> Cc: <stanimir.varbanov@linaro.org>, <sboyd@codeaurora.org>, Marek Szyprowski <m.szyprowski@samsung.com>, <linux-pm@vger.kernel.org>, <linux-kernel@vger.kernel.org>, <linux-tegra@vger.kernel.org>, Jon Hunter <jonathanh@nvidia.com> Subject: [RFC PATCH 1/4] PM / Domains: Prepare for supporting explicit PM domain control Date: Tue, 28 Mar 2017 15:14:00 +0100 [thread overview] Message-ID: <1490710443-27425-2-git-send-email-jonathanh@nvidia.com> (raw) In-Reply-To: <1490710443-27425-1-git-send-email-jonathanh@nvidia.com> The generic PM domain framework only supports consumers that require a single PM domain. In order to extend the framework so that consumers can explicitly control more than one PM domain, detect if the consumers specifies more than one PM domain and if it does then don't automatically bind the device with any of the PM domains and (leap of faith!) assume the consumer knows what to do! Signed-off-by: Jon Hunter <jonathanh@nvidia.com> --- drivers/base/power/domain.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c index e697dec9d25b..0eb75954c087 100644 --- a/drivers/base/power/domain.c +++ b/drivers/base/power/domain.c @@ -2011,6 +2011,16 @@ int genpd_dev_pm_attach(struct device *dev) if (dev->pm_domain) return -EEXIST; + /* + * If there are more than one PM domain defined for a device, + * then these need to be manually controlled by the driver + * that device, because the genpd core cannot bind a device + * with more than one PM domain. + */ + if (of_count_phandle_with_args(dev->of_node, "power-domains", + "#power-domain-cells") > 1) + return 0; + ret = of_parse_phandle_with_args(dev->of_node, "power-domains", "#power-domain-cells", 0, &pd_args); if (ret < 0) { -- 2.7.4
next prev parent reply other threads:[~2017-03-28 14:14 UTC|newest] Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-03-28 14:13 [RFC PATCH 0/4] PM / Domains: Add support for explicit control of PM domains Jon Hunter 2017-03-28 14:13 ` Jon Hunter 2017-03-28 14:14 ` Jon Hunter [this message] 2017-03-28 14:14 ` [RFC PATCH 1/4] PM / Domains: Prepare for supporting explicit PM domain control Jon Hunter 2017-03-28 14:14 ` [RFC PATCH 2/4] PM / Domains: Add support for explicit control of PM domains Jon Hunter 2017-03-28 14:14 ` Jon Hunter [not found] ` <1490710443-27425-3-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2017-04-10 4:09 ` Rajendra Nayak 2017-04-10 4:09 ` Rajendra Nayak 2017-04-10 8:24 ` Jon Hunter 2017-04-10 8:24 ` Jon Hunter [not found] ` <3135e238-48a3-3693-bb59-63bf2a6d8d0e-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2017-04-10 10:02 ` Rajendra Nayak 2017-04-10 10:02 ` Rajendra Nayak 2017-04-10 19:48 ` Jon Hunter 2017-04-10 19:48 ` Jon Hunter 2017-03-28 14:14 ` [RFC PATCH 3/4] PM / Domains: Add OF helpers for getting " Jon Hunter 2017-03-28 14:14 ` Jon Hunter [not found] ` <1490710443-27425-1-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2017-03-28 14:14 ` [RFC PATCH 4/4] dt-bindings: Add support for devices with multiple " Jon Hunter 2017-03-28 14:14 ` Jon Hunter 2017-04-10 4:12 ` Rajendra Nayak [not found] ` <3f96256d-0de5-26a2-e656-7912e06806ea-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> 2017-04-10 8:24 ` Jon Hunter 2017-04-10 8:24 ` Jon Hunter 2017-04-25 11:13 ` [RFC PATCH 0/4] PM / Domains: Add support for explicit control of " Jon Hunter 2017-04-25 11:13 ` Jon Hunter [not found] ` <d2e3ceaa-57e2-033d-ecd1-a3b2bd8ffa26-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2017-04-25 19:34 ` Ulf Hansson 2017-04-25 19:34 ` Ulf Hansson [not found] ` <CAPDyKFoJ58pwGz2U90ob8a8cY=hEbE-wLBHZ0BBzqPoLW_wgGA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2017-04-25 21:17 ` Rafael J. Wysocki 2017-04-25 21:17 ` Rafael J. Wysocki [not found] ` <CAJZ5v0gMzN_zfC_2nnRtYFyFon3-_mnioQhNbDP0wsr91RnagA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2017-05-02 10:10 ` Jon Hunter 2017-05-02 10:10 ` Jon Hunter [not found] ` <ffe13074-9113-0a20-0fa6-76d0209dadfc-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2017-05-02 21:51 ` Rafael J. Wysocki 2017-05-02 21:51 ` Rafael J. Wysocki 2017-05-03 8:12 ` Ulf Hansson [not found] ` <CAPDyKFokVKZfRAsEAB6ihx1FxW4JjarionyOwCATr3s+QW4aMg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2017-05-03 8:32 ` Jon Hunter 2017-05-03 8:32 ` Jon Hunter 2017-05-03 8:32 ` Jon Hunter [not found] ` <b4e8fd34-e2f0-165d-aa22-32ba43a8dbed-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2017-05-03 13:43 ` Ulf Hansson 2017-05-03 13:43 ` Ulf Hansson [not found] ` <CAPDyKFo-hfwbrY+AEMt0=fMshiT-BWvYDvGkKGqquTdowUvWHw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2017-05-03 14:57 ` Jon Hunter 2017-05-03 14:57 ` Jon Hunter 2017-05-03 17:12 ` Ulf Hansson 2017-05-04 8:44 ` Jon Hunter 2017-05-30 3:41 ` Rajendra Nayak [not found] ` <5fcfeda6-f95c-cdaa-73a5-5c7499a3f9f5-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> 2017-10-09 16:36 ` Todor Tomov 2017-10-09 16:36 ` Todor Tomov [not found] ` <72397ec8-d169-c5b1-2120-459031b35d48-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> 2017-10-10 9:13 ` Jon Hunter 2017-10-10 9:13 ` Jon Hunter [not found] ` <1832647.f77WMLkdQb-yvgW3jdyMHm1GS7QM15AGw@public.gmane.org> 2017-05-03 8:12 ` Jon Hunter 2017-05-03 8:12 ` Jon Hunter 2017-04-26 8:06 ` Geert Uytterhoeven [not found] ` <CAMuHMdWvS6_Zf1nn1=zVLb1qNChyk+B6BDZsK9P9oKRBEpPKMg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2017-04-26 9:04 ` Ulf Hansson 2017-04-26 9:04 ` Ulf Hansson [not found] ` <CAPDyKFqqZPXpxCTDy079QeiAorLVrXZssQ5SvXLWa3oab21b5g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2017-04-26 9:17 ` Geert Uytterhoeven 2017-04-26 9:17 ` Geert Uytterhoeven [not found] ` <CAMuHMdWNnWdYop_U4BGznxDND3WK-V7hnCBbnPoUDzUHBBpgHA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2017-04-26 9:55 ` Ulf Hansson 2017-04-26 9:55 ` Ulf Hansson [not found] ` <CAPDyKFrg+L_U6ztzpUdQMuemXyPWvtWVt06GumXa1MoTjJesWg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2017-05-03 6:43 ` Geert Uytterhoeven 2017-05-03 6:43 ` Geert Uytterhoeven [not found] ` <CAMuHMdXr6-pKb0wRfs0_HhNp75ikGOtd-n2mEY-fvVJhaU5idg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2017-05-03 8:54 ` Geert Uytterhoeven 2017-05-03 8:54 ` Geert Uytterhoeven
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=1490710443-27425-2-git-send-email-jonathanh@nvidia.com \ --to=jonathanh@nvidia.com \ --cc=geert@linux-m68k.org \ --cc=khilman@kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pm@vger.kernel.org \ --cc=linux-tegra@vger.kernel.org \ --cc=m.szyprowski@samsung.com \ --cc=rjw@rjwysocki.net \ --cc=rnayak@codeaurora.org \ --cc=sboyd@codeaurora.org \ --cc=stanimir.varbanov@linaro.org \ --cc=ulf.hansson@linaro.org \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.