On Wed, 31 Dec 2025 at 12:52, Yang Xiwen via B4 Relay <[email protected]> wrote: > > From: Yang Xiwen <[email protected]> > > Update clk_enable() and clk_disable() to use clk_get_parent() instead of > manually accessing clk->dev->parent. > > Signed-off-by: Yang Xiwen <[email protected]> > --- > drivers/clk/clk-uclass.c | 26 +++++++++++++++----------- > 1 file changed, 15 insertions(+), 11 deletions(-)
Reviewed-by: Simon Glass <[email protected]> > > diff --git a/drivers/clk/clk-uclass.c b/drivers/clk/clk-uclass.c > index bd18de972bb9..bfad71e7af70 100644 > --- a/drivers/clk/clk-uclass.c > +++ b/drivers/clk/clk-uclass.c > @@ -656,7 +656,7 @@ int clk_set_parent(struct clk *clk, struct clk *parent) > int clk_enable(struct clk *clk) > { > const struct clk_ops *ops; > - struct clk *clkp = NULL; > + struct clk *clkp = NULL, *clk_parent; > int ret; > > debug("%s(clk=%p name=%s)\n", __func__, clk, clk->dev->name); > @@ -672,9 +672,10 @@ int clk_enable(struct clk *clk) > clkp->enable_count++; > return 0; > } > - if (clkp->dev->parent && > - device_get_uclass_id(clkp->dev->parent) == > UCLASS_CLK) { > - ret = > clk_enable(dev_get_clk_ptr(clkp->dev->parent)); > + > + clk_parent = clk_get_parent(clkp); > + if (!IS_ERR_OR_NULL(clk_parent)) { > + ret = clk_enable(clk_parent); > if (ret) { > printf("Enable %s failed\n", > clkp->dev->parent->name); > @@ -747,13 +748,16 @@ int clk_disable(struct clk *clk) > return ret; > } > > - if (clkp && clkp->dev->parent && > - device_get_uclass_id(clkp->dev->parent) == UCLASS_CLK) { > - ret = clk_disable(dev_get_clk_ptr(clkp->dev->parent)); > - if (ret) { > - printf("Disable %s failed\n", > - clkp->dev->parent->name); > - return ret; > + if (clkp) { > + struct clk *clk_parent = clk_get_parent(clkp); > + > + if (!IS_ERR_OR_NULL(clk_parent)) { > + ret = clk_disable(clk_parent); > + if (ret) { > + printf("Disable %s failed\n", > + clkp->dev->parent->name); > + return ret; > + } > } > } > } else { > > -- > 2.43.0 > >

