Message ID | 20211109164650.2233507-3-robh@kernel.org (mailing list archive) |
---|---|
State | Awaiting Upstream, archived |
Headers | show |
Series | Fix Arm Ltd board node name collisions | expand |
On Tue, Nov 9, 2021 at 5:46 PM Rob Herring <robh@kernel.org> wrote: > Commit 2d3de197a818 ("ARM: dts: arm: Update ICST clock nodes 'reg' and > node names") moved to using generic node names. That results in trying > to register multiple clocks with the same name. Fix this by including > the unit-address in the clock name. > > Fixes: 2d3de197a818 ("ARM: dts: arm: Update ICST clock nodes 'reg' and node names") > Cc: stable@vger.kernel.org > Cc: Linus Walleij <linus.walleij@linaro.org> > Cc: Stephen Boyd <sboyd@kernel.org> > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-clk@vger.kernel.org > Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Yours, Linus Walleij
Quoting Rob Herring (2021-11-09 08:46:50) > Commit 2d3de197a818 ("ARM: dts: arm: Update ICST clock nodes 'reg' and > node names") moved to using generic node names. That results in trying > to register multiple clocks with the same name. Fix this by including > the unit-address in the clock name. > > Fixes: 2d3de197a818 ("ARM: dts: arm: Update ICST clock nodes 'reg' and node names") > Cc: stable@vger.kernel.org > Cc: Linus Walleij <linus.walleij@linaro.org> > Cc: Stephen Boyd <sboyd@kernel.org> > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-clk@vger.kernel.org > Signed-off-by: Rob Herring <robh@kernel.org> > --- Reviewed-by: Stephen Boyd <sboyd@kernel.org>
diff --git a/drivers/clk/versatile/clk-icst.c b/drivers/clk/versatile/clk-icst.c index 77fd0ecaf155..d52f976dc875 100644 --- a/drivers/clk/versatile/clk-icst.c +++ b/drivers/clk/versatile/clk-icst.c @@ -484,7 +484,7 @@ static void __init of_syscon_icst_setup(struct device_node *np) struct device_node *parent; struct regmap *map; struct clk_icst_desc icst_desc; - const char *name = np->name; + const char *name; const char *parent_name; struct clk *regclk; enum icst_control_type ctype; @@ -533,15 +533,17 @@ static void __init of_syscon_icst_setup(struct device_node *np) icst_desc.params = &icst525_apcp_cm_params; ctype = ICST_INTEGRATOR_CP_CM_MEM; } else { - pr_err("unknown ICST clock %s\n", name); + pr_err("unknown ICST clock %pOF\n", np); return; } /* Parent clock name is not the same as node parent */ parent_name = of_clk_get_parent_name(np, 0); + name = kasprintf(GFP_KERNEL, "%pOFP", np); regclk = icst_clk_setup(NULL, &icst_desc, name, parent_name, map, ctype); if (IS_ERR(regclk)) { + kfree(name); pr_err("error setting up syscon ICST clock %s\n", name); return; }
Commit 2d3de197a818 ("ARM: dts: arm: Update ICST clock nodes 'reg' and node names") moved to using generic node names. That results in trying to register multiple clocks with the same name. Fix this by including the unit-address in the clock name. Fixes: 2d3de197a818 ("ARM: dts: arm: Update ICST clock nodes 'reg' and node names") Cc: stable@vger.kernel.org Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Stephen Boyd <sboyd@kernel.org> Cc: linux-arm-kernel@lists.infradead.org Cc: linux-clk@vger.kernel.org Signed-off-by: Rob Herring <robh@kernel.org> --- This should be applied to stable to minimize DT ABI breakage. --- drivers/clk/versatile/clk-icst.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)