Message ID | 20170712220416.31785-1-bjorn.andersson@linaro.org (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Stephen Boyd |
Headers | show |
On 07/12, Bjorn Andersson wrote: > This extends the existing set of bulk helpers with prepare_enable and > disable_unprepare variants. > > Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> > --- Looks good. I can stick this under a tag in clk tree if you like so that it can be pulled into various driver trees?
On Wed 12 Jul 16:04 PDT 2017, Stephen Boyd wrote: > On 07/12, Bjorn Andersson wrote: > > This extends the existing set of bulk helpers with prepare_enable and > > disable_unprepare variants. > > > > Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> > > --- > > Looks good. I can stick this under a tag in clk tree if you like > so that it can be pulled into various driver trees? > Yes please, I have a number of drivers that I could get moved over for v4.14. Regards, Bjorn -- To unsubscribe from this list: send the line "unsubscribe linux-clk" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 07/12, Bjorn Andersson wrote: > On Wed 12 Jul 16:04 PDT 2017, Stephen Boyd wrote: > > > On 07/12, Bjorn Andersson wrote: > > > This extends the existing set of bulk helpers with prepare_enable and > > > disable_unprepare variants. > > > > > > Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> > > > --- > > > > Looks good. I can stick this under a tag in clk tree if you like > > so that it can be pulled into various driver trees? > > > > Yes please, I have a number of drivers that I could get moved over for > v4.14. > Actually, let's just send it off to Linus tomorrow and see if we can merge it now. Should avoid lots of headache if we can merge it into v4.13-rc1.
diff --git a/include/linux/clk.h b/include/linux/clk.h index 91bd464f4c9b..12c96d94d1fa 100644 --- a/include/linux/clk.h +++ b/include/linux/clk.h @@ -657,6 +657,28 @@ static inline void clk_disable_unprepare(struct clk *clk) clk_unprepare(clk); } +static inline int clk_bulk_prepare_enable(int num_clks, + struct clk_bulk_data *clks) +{ + int ret; + + ret = clk_bulk_prepare(num_clks, clks); + if (ret) + return ret; + ret = clk_bulk_enable(num_clks, clks); + if (ret) + clk_bulk_unprepare(num_clks, clks); + + return ret; +} + +static inline void clk_bulk_disable_unprepare(int num_clks, + struct clk_bulk_data *clks) +{ + clk_bulk_disable(num_clks, clks); + clk_bulk_unprepare(num_clks, clks); +} + #if defined(CONFIG_OF) && defined(CONFIG_COMMON_CLK) struct clk *of_clk_get(struct device_node *np, int index); struct clk *of_clk_get_by_name(struct device_node *np, const char *name);
This extends the existing set of bulk helpers with prepare_enable and disable_unprepare variants. Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> --- include/linux/clk.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)