Re: [PATCH 3/8] clk: meson: gxbb: migrate to the new parent description method
From: Chen-Yu Tsai
Date: Thu Jul 25 2019 - 14:08:45 EST
On Thu, Jul 25, 2019 at 10:50 PM Jerome Brunet <jbrunet@xxxxxxxxxxxx> wrote:
>
> On Mon 22 Jul 2019 at 11:54, Alexandre Mergnat <amergnat@xxxxxxxxxxxx> wrote:
>
>
> > @@ -1592,13 +1737,29 @@ static struct clk_regmap gxbb_vid_pll_div = {
> > .hw.init = &(struct clk_init_data) {
> > .name = "vid_pll_div",
> > .ops = &meson_vid_pll_div_ro_ops,
> > - .parent_names = (const char *[]){ "hdmi_pll" },
> > + .parent_data = &(const struct clk_parent_data) {
> > + /*
> > + * This clock is declared here for GXL and GXBB SoC, so
> > + * we must use string name to set this parent to avoid
> > + * pointer issue.
> > + */
>
> I don't really get the issue with this comment.
>
> How about:
>
> /*
> * Note:
> * gxl and gxbb have different hdmi_plls (with different struct clk_hw).
> * We fallback to the global naming string mechanism so vid_pll_div picks
> * up the appropriate one.
> */
If you're sticking to global names for now, you could just skip converting
this clock altogether. I suspect .parent_names will be around for some time.
On the other hand, if you really want to get rid of global clock name based
parenting, you could use clk_hw pointers, and have the probe function fix
up this one based on the compatible string. That's what I did.
Just my two cents.
ChenYu
> > + .name = "hdmi_pll",
> > + .index = -1,
> > + },
> > .num_parents = 1,
> > .flags = CLK_SET_RATE_PARENT | CLK_GET_RATE_NOCACHE,
> > },
> > };
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel