clk: use clk_get_parent() helper in clk_en(dis)able()

Update clk_enable() and clk_disable() to use clk_get_parent() instead of
manually accessing clk->dev->parent.

Reviewed-by: Simon Glass <simon.glass@canonical.com>
Signed-off-by: Yang Xiwen <forbidden405@outlook.com>
This commit is contained in:
Yang Xiwen
2026-01-20 03:07:21 +08:00
committed by Tom Rini
parent d18343651c
commit 5fc1388141

View File

@@ -663,7 +663,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 ? clk->dev->name : "NULL");
@@ -679,9 +679,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);
@@ -754,13 +755,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 {