Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1514189 > unrolled thread
| Started by | Stephen Boyd <sboyd@codeaurora.org> |
|---|---|
| First post | 2016-11-02 23:30 +0100 |
| Last post | 2016-11-03 20:50 +0100 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [PATCH v3 10/11] clk: Add clk_hw_get_clk() helper API to be used by clk providers Stephen Boyd <sboyd@codeaurora.org> - 2016-11-02 23:30 +0100
Re: [PATCH v3 10/11] clk: Add clk_hw_get_clk() helper API to be used by clk providers Rajendra Nayak <rnayak@codeaurora.org> - 2016-11-03 09:40 +0100
Re: [PATCH v3 10/11] clk: Add clk_hw_get_clk() helper API to be used by clk providers Stephen Boyd <sboyd@codeaurora.org> - 2016-11-03 20:50 +0100
| From | Stephen Boyd <sboyd@codeaurora.org> |
|---|---|
| Date | 2016-11-02 23:30 +0100 |
| Subject | Re: [PATCH v3 10/11] clk: Add clk_hw_get_clk() helper API to be used by clk providers |
| Message-ID | <szccG-3OO-33@gated-at.bofh.it> |
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?
> Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org>
> ---
> 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.
The hw->clk is sort of a remnant of the clk_core introduction. I
can't recall the exact plan (i.e. I should write it down
somewhere once I do) but I think we want to get rid of hw->clk
and have everyone use clk_hw_get_clk() instead. Then for
traversals from the clk_hw pointer to a clk pointer are very
clear.
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
[toc] | [next] | [standalone]
| From | Rajendra Nayak <rnayak@codeaurora.org> |
|---|---|
| Date | 2016-11-03 09:40 +0100 |
| Message-ID | <szlIZ-1tA-1@gated-at.bofh.it> |
| In reply to | #1514189 |
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@codeaurora.org>
>> ---
>> 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?
>
> The hw->clk is sort of a remnant of the clk_core introduction. I
> can't recall the exact plan (i.e. I should write it down
> somewhere once I do) but I think we want to get rid of hw->clk
> and have everyone use clk_hw_get_clk() instead. Then for
> traversals from the clk_hw pointer to a clk pointer are very
> clear.
>
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
[toc] | [prev] | [next] | [standalone]
| From | Stephen Boyd <sboyd@codeaurora.org> |
|---|---|
| Date | 2016-11-03 20:50 +0100 |
| Message-ID | <szwbn-8dS-3@gated-at.bofh.it> |
| In reply to | #1514381 |
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@codeaurora.org>
> >> ---
> >> 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
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web