On 11/03, Rajendra Nayak wrote: > > > On 11/03/2016 03:52 AM, Stephen Boyd wrote: > > On 09/29, Rajendra Nayak wrote: > >> Add a helper API that will allow clk providers to turn their clk_hw > >> structures into struct clk pointer. > >> > > > > Did I suggest this? > > I did this back when you suggested we store clk_hw's for all > clocks associated with a gdsc instead of extracting them from > the clients device tree node. > > > > >> Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> > >> --- > >> drivers/clk/clk.c | 6 ++++++ > >> include/linux/clk-provider.h | 1 + > >> 2 files changed, 7 insertions(+) > >> > >> diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c > >> index 820a939..a084132 100644 > >> --- a/drivers/clk/clk.c > >> +++ b/drivers/clk/clk.c > >> @@ -186,6 +186,12 @@ const char *clk_hw_get_name(const struct clk_hw *hw) > >> } > >> EXPORT_SYMBOL_GPL(clk_hw_get_name); > >> > >> +struct clk *clk_hw_get_clk(const struct clk_hw *hw) > >> +{ > >> + return hw->clk; > > > > I'd prefer we actually went through all the work and actually > > allocated another clk structure here. We can add another string > > or two for the dev_id and con_id too for debug/accouting > > purposes. > > I don't quite get the part of allocating another clk structure, > can you please elaborate? > With "per-user" clks we want to have accounting for all the struct clk consumers of a particular clk_hw instance. Given that this function lets someone get a clk pointer from a clk_hw structure, we want to make it follow the same "per-user" accounting that we already have for each time the call is made. Also, we want to make sure callers call clk_put() on the clk when they're done with it. If we don't allocate a new one here that clk_put() will destroy the one we allocate and assign during registration time. So I'm saying we want a wrapper to __clk_create_clk() for clk providers to use to generate a clk pointer if needed. -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html