[PATCH] clk: meson: meson8b: Simplify notifier clock lookup

Stephen Boyd sboyd at kernel.org
Wed Aug 9 14:55:40 PDT 2023


Quoting Jerome Brunet (2023-08-08 06:21:46)
> 
> On Mon 31 Jul 2023 at 12:27, Chen-Yu Tsai <wenst at chromium.org> wrote:
> > @@ -3847,9 +3846,7 @@ static void __init meson8b_clkc_init_common(struct device_node *np,
> >        * tricky programming sequence will be handled by the forthcoming
> >        * coordinated clock rates mechanism once that feature is released.
> >        */
> > -     notifier_clk_name = clk_hw_get_name(&meson8b_cpu_scale_out_sel.hw);
> > -     notifier_clk = __clk_lookup(notifier_clk_name);
> > -     ret = clk_notifier_register(notifier_clk, &meson8b_cpu_nb_data.nb);
> > +     ret = clk_notifier_register(meson8b_cpu_scale_out_sel.hw.clk, &meson8b_cpu_nb_data.nb);
> 
> Hi Chen-Yu,
> 
> Your patch seems valid, as CCF stands right now.
> 
> However, I believe there is a will to drop the 'struct clk' instance that
> automatically gets created with each 'struct clk_hw'. This change would
> not help going in this direction
> 

Yes. Use clk_hw_get_clk() here, or introduce a
clk_hw_notifier_register() API that does that automatically. We will
have to put the clk on unregister path as well though, so maybe struct
clk_notifier needs to be extended to store the clk_hw pointer. The
notifier code kinda needs an overhaul to be clk_hw/clk_core aware. I
think it predates the introduction of struct clk_core? It's a bunch of
work I've been putting off.



More information about the linux-arm-kernel mailing list