Re: [RFC] clk: Make clk API return per-user struct clk instances

From: Tony Lindgren
Date: Tue Sep 30 2014 - 14:17:33 EST

* Tero Kristo <t-kristo@xxxxxx> [140930 00:41]:
> On 09/30/2014 09:54 AM, Mike Turquette wrote:
> >Quoting Stephen Boyd (2014-09-29 18:40:23)
> >>On 09/29/14 11:17, Tomeu Vizoso wrote:
> >>>Also moves clock state to struct clk_core, but takes care to change as little
> >>>API as possible.
> >>>
> >>>struct clk_hw still has a pointer to a struct clk, which is the
> >>>implementation's per-user clk instance, for backwards compatibility.
> >>>
> >>>Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
> >>>
> >>>---
> >>>
> >>>Hello,
> >>>
> >>>I'm sending this alternate implementation of the switch to per-user clocks,
> >>>with the added goal of not requiring any substantial changes to existing users
> >>>of the API.
> >>>
> >>>This is pretty much RFC-quality right now, having only tested that it builds on
> >>>tegra_defconfig.
> >>>
> >>>My main question right now is what do we want to do with those drivers that
> >>>statically declare clocks. State is now in struct clk_core, so updating the
> >>>drivers accordingly will amount to a substantial amount of lines changed, which
> >>>we are now trying to avoid.
> >>
> >>Who's actually using the static clocks? Isn't it just omap2? It looks
> >>like all of those are behind the DEFINE_CLK define so changing it in
> >>clk-private.h should "just work". I'm lost as to why static clocks are
> >>being used there though. If it was a problem with allocating memory too
> >>early it doesn't seem to be the case given that sometimes the .parents
> >>field isn't set for a mux and __clk_init() will go and allocate an array
> >>of pointers. Maybe I missed something though.
> >
> >Yeah, the old omap2+ static clocks were due to very very early init of
> >things which required clocks
> >
> >If memory serves, that isn't a problem any more. I've talked to Tony and
> >Tero about my desire to remove clk-private.h and the need to get rid of
> >its use in the omap clock code.
> >
> >Tero, what is the status of DT conversion for OMAP2/OMAP3? Can we get
> >get away with only defining clock data in DT for those platforms? Can we
> >finally kill off clk-private.h?
> Clock data has been converted for all SoCs. The problem is currently that we
> are missing some OMAP3 based DT board definitions and still require legacy
> boot => thus requiring legacy clock data also => omap3 legacy clock data
> can't be removed yet.
> Tony, whats the latest status with these missing omap3 boards? How many
> board->dt conversions are still needed? Is there anything someone can do on
> this front?

Well things are looking good for device tree based booting for omap3
in general. We just need to wait so people have enough time to update
their boards and do the missing .dts files. I guess all we can say is
we drop omap3 legacy booting when we can.

Can we remove the depenency to the omap3 DT conversion for the clocks
to remove the DT conversion dependency here?


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at