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

From: Stephen Boyd
Date: Wed Aug 09 2023 - 17:55:46 EST


Quoting Jerome Brunet (2023-08-08 06:21:46)
>
> On Mon 31 Jul 2023 at 12:27, Chen-Yu Tsai <wenst@xxxxxxxxxxxx> 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.