From: Viresh Kumar <viresh.kumar@linaro.org> To: k.konieczny@partner.samsung.com Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>, Marek Szyprowski <m.szyprowski@samsung.com>, Chanwoo Choi <cw00.choi@samsung.com>, Krzysztof Kozlowski <krzk@kernel.org>, Kukjin Kim <kgene@kernel.org>, Kyungmin Park <kyungmin.park@samsung.com>, Mark Rutland <mark.rutland@arm.com>, MyungJoo Ham <myungjoo.ham@samsung.com>, Nishanth Menon <nm@ti.com>, Rob Herring <robh+dt@kernel.org>, Stephen Boyd <sboyd@kernel.org>, Viresh Kumar <vireshk@kernel.org>, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-samsung-soc@vger.kernel.org Subject: Re: [PATCH 1/3] opp: core: add regulators enable and disable Date: Thu, 11 Jul 2019 11:52:26 +0530 [thread overview] Message-ID: <20190711062226.4i4bvbsyczshdlyr@vireshk-i7> (raw) In-Reply-To: <20190708141140.24379-2-k.konieczny@partner.samsung.com> On 08-07-19, 16:11, k.konieczny@partner.samsung.com wrote: > From: Kamil Konieczny <k.konieczny@partner.samsung.com> > > Add enable regulators to dev_pm_opp_set_regulators() and disable > regulators to dev_pm_opp_put_regulators(). This prepares for > converting exynos-bus devfreq driver to use dev_pm_opp_set_rate(). > > Signed-off-by: Kamil Konieczny <k.konieczny@partner.samsung.com> > --- > drivers/opp/core.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/drivers/opp/core.c b/drivers/opp/core.c > index 0e7703fe733f..947cac452854 100644 > --- a/drivers/opp/core.c > +++ b/drivers/opp/core.c > @@ -1580,8 +1580,19 @@ struct opp_table *dev_pm_opp_set_regulators(struct device *dev, > if (ret) > goto free_regulators; > > + for (i = 0; i < opp_table->regulator_count; i++) { > + ret = regulator_enable(opp_table->regulators[i]); > + if (ret < 0) > + goto disable; > + } What about doing this in the same loop of regulator_get_optional() ? > + > return opp_table; > > +disable: > + while (i != 0) > + regulator_disable(opp_table->regulators[--i]); > + > + i = opp_table->regulator_count; You also need to call _free_set_opp_data() here. > free_regulators: > while (i != 0) > regulator_put(opp_table->regulators[--i]); > @@ -1609,6 +1620,8 @@ void dev_pm_opp_put_regulators(struct opp_table *opp_table) > > /* Make sure there are no concurrent readers while updating opp_table */ > WARN_ON(!list_empty(&opp_table->opp_list)); Preserve the blank line here. > + for (i = opp_table->regulator_count - 1; i >= 0; i--) > + regulator_disable(opp_table->regulators[i]); > > for (i = opp_table->regulator_count - 1; i >= 0; i--) > regulator_put(opp_table->regulators[i]); Only single loop should be sufficient for this. > -- > 2.22.0 -- viresh
WARNING: multiple messages have this Message-ID (diff)
From: Viresh Kumar <viresh.kumar@linaro.org> To: k.konieczny@partner.samsung.com Cc: Mark Rutland <mark.rutland@arm.com>, Nishanth Menon <nm@ti.com>, linux-samsung-soc@vger.kernel.org, Rob Herring <robh+dt@kernel.org>, linux-arm-kernel@lists.infradead.org, Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>, Stephen Boyd <sboyd@kernel.org>, Viresh Kumar <vireshk@kernel.org>, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski <krzk@kernel.org>, Chanwoo Choi <cw00.choi@samsung.com>, Kyungmin Park <kyungmin.park@samsung.com>, Kukjin Kim <kgene@kernel.org>, MyungJoo Ham <myungjoo.ham@samsung.com>, devicetree@vger.kernel.org, Marek Szyprowski <m.szyprowski@samsung.com> Subject: Re: [PATCH 1/3] opp: core: add regulators enable and disable Date: Thu, 11 Jul 2019 11:52:26 +0530 [thread overview] Message-ID: <20190711062226.4i4bvbsyczshdlyr@vireshk-i7> (raw) In-Reply-To: <20190708141140.24379-2-k.konieczny@partner.samsung.com> On 08-07-19, 16:11, k.konieczny@partner.samsung.com wrote: > From: Kamil Konieczny <k.konieczny@partner.samsung.com> > > Add enable regulators to dev_pm_opp_set_regulators() and disable > regulators to dev_pm_opp_put_regulators(). This prepares for > converting exynos-bus devfreq driver to use dev_pm_opp_set_rate(). > > Signed-off-by: Kamil Konieczny <k.konieczny@partner.samsung.com> > --- > drivers/opp/core.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/drivers/opp/core.c b/drivers/opp/core.c > index 0e7703fe733f..947cac452854 100644 > --- a/drivers/opp/core.c > +++ b/drivers/opp/core.c > @@ -1580,8 +1580,19 @@ struct opp_table *dev_pm_opp_set_regulators(struct device *dev, > if (ret) > goto free_regulators; > > + for (i = 0; i < opp_table->regulator_count; i++) { > + ret = regulator_enable(opp_table->regulators[i]); > + if (ret < 0) > + goto disable; > + } What about doing this in the same loop of regulator_get_optional() ? > + > return opp_table; > > +disable: > + while (i != 0) > + regulator_disable(opp_table->regulators[--i]); > + > + i = opp_table->regulator_count; You also need to call _free_set_opp_data() here. > free_regulators: > while (i != 0) > regulator_put(opp_table->regulators[--i]); > @@ -1609,6 +1620,8 @@ void dev_pm_opp_put_regulators(struct opp_table *opp_table) > > /* Make sure there are no concurrent readers while updating opp_table */ > WARN_ON(!list_empty(&opp_table->opp_list)); Preserve the blank line here. > + for (i = opp_table->regulator_count - 1; i >= 0; i--) > + regulator_disable(opp_table->regulators[i]); > > for (i = opp_table->regulator_count - 1; i >= 0; i--) > regulator_put(opp_table->regulators[i]); Only single loop should be sufficient for this. > -- > 2.22.0 -- viresh _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-07-11 6:22 UTC|newest] Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <CGME20190708141158eucas1p17d4b50978dbe1e5c876ce6d8f433cc95@eucas1p1.samsung.com> 2019-07-08 14:11 ` [PATCH 0/3] add coupled regulators for Exynos5422/5800 k.konieczny 2019-07-08 14:11 ` k.konieczny [not found] ` <CGME20190708141159eucas1p1751506975ff96a436e14940916623722@eucas1p1.samsung.com> 2019-07-08 14:11 ` [PATCH 1/3] opp: core: add regulators enable and disable k.konieczny 2019-07-08 14:11 ` k.konieczny 2019-07-09 5:40 ` Viresh Kumar 2019-07-09 5:40 ` Viresh Kumar 2019-07-09 5:40 ` Viresh Kumar 2019-07-10 10:16 ` Kamil Konieczny 2019-07-10 10:16 ` Kamil Konieczny 2019-07-10 10:42 ` Kamil Konieczny 2019-07-10 10:42 ` Kamil Konieczny 2019-07-10 10:42 ` Kamil Konieczny 2019-07-10 10:43 ` Kamil Konieczny 2019-07-10 10:43 ` Kamil Konieczny 2019-07-10 13:52 ` Kamil Konieczny 2019-07-10 13:52 ` Kamil Konieczny 2019-07-10 17:01 ` Krzysztof Kozlowski 2019-07-10 17:01 ` Krzysztof Kozlowski 2019-07-10 17:01 ` Krzysztof Kozlowski 2019-07-11 6:22 ` Viresh Kumar [this message] 2019-07-11 6:22 ` Viresh Kumar 2019-07-11 12:58 ` Kamil Konieczny 2019-07-11 12:58 ` Kamil Konieczny 2019-07-11 12:58 ` Kamil Konieczny [not found] ` <CGME20190708141200eucas1p144ca3b2a5b4019aaa5773d23c0236f31@eucas1p1.samsung.com> 2019-07-08 14:11 ` [PATCH 2/3] devfreq: exynos-bus: convert to use dev_pm_opp_set_rate() k.konieczny 2019-07-08 14:11 ` k.konieczny 2019-07-10 17:04 ` Krzysztof Kozlowski 2019-07-10 17:04 ` Krzysztof Kozlowski 2019-07-10 17:04 ` Krzysztof Kozlowski 2019-07-11 13:36 ` Kamil Konieczny 2019-07-11 13:36 ` Kamil Konieczny 2019-07-11 13:36 ` Kamil Konieczny [not found] ` <CGME20190708141200eucas1p12bf901a2589efe92b133b357d2cbc57e@eucas1p1.samsung.com> 2019-07-08 14:11 ` [PATCH 3/3] ARM: dts: exynos: add initial data for coupled regulators for Exynos5422/5800 k.konieczny 2019-07-08 14:11 ` k.konieczny 2019-07-10 9:02 ` Krzysztof Kozlowski 2019-07-10 9:02 ` Krzysztof Kozlowski 2019-07-10 9:02 ` Krzysztof Kozlowski 2019-07-10 9:00 ` [PATCH 0/3] add " Krzysztof Kozlowski 2019-07-10 9:00 ` Krzysztof Kozlowski 2019-07-10 9:00 ` Krzysztof Kozlowski 2019-07-10 10:03 ` Kamil Konieczny 2019-07-10 10:03 ` Kamil Konieczny 2019-07-10 10:03 ` Kamil Konieczny 2019-07-10 10:14 ` Krzysztof Kozlowski 2019-07-10 10:14 ` Krzysztof Kozlowski 2019-07-10 10:14 ` Krzysztof Kozlowski 2019-07-10 13:51 ` Kamil Konieczny 2019-07-10 13:51 ` Kamil Konieczny 2019-07-10 13:51 ` Kamil Konieczny 2019-07-10 17:01 ` Krzysztof Kozlowski 2019-07-10 17:01 ` Krzysztof Kozlowski 2019-07-10 17:01 ` Krzysztof Kozlowski
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=20190711062226.4i4bvbsyczshdlyr@vireshk-i7 \ --to=viresh.kumar@linaro.org \ --cc=b.zolnierkie@samsung.com \ --cc=cw00.choi@samsung.com \ --cc=devicetree@vger.kernel.org \ --cc=k.konieczny@partner.samsung.com \ --cc=kgene@kernel.org \ --cc=krzk@kernel.org \ --cc=kyungmin.park@samsung.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pm@vger.kernel.org \ --cc=linux-samsung-soc@vger.kernel.org \ --cc=m.szyprowski@samsung.com \ --cc=mark.rutland@arm.com \ --cc=myungjoo.ham@samsung.com \ --cc=nm@ti.com \ --cc=robh+dt@kernel.org \ --cc=sboyd@kernel.org \ --cc=vireshk@kernel.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.