mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
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:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user