summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorKaustabh Chakraborty <[email protected]>2025-10-17 20:51:34 +0530
committerMinkyu Kang <[email protected]>2025-11-12 13:56:12 +0900
commit07b8261d482549351dfd6f9a5e49b7d59e1fc3d9 (patch)
tree7d236d49517249d1f80002e9fb4cdd17e61a0b3d /drivers
parent67fea5775b37b53379434377691772602e3064b3 (diff)
clk: use private clk struct to access clock flags
There may be cases where the flags set for a clock is not available. This is usually the case with clocks which have been retrieved using clk_request(). However, clock flags are found in their respective private clock struct, so use that instead. Signed-off-by: Kaustabh Chakraborty <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/clk/clk-uclass.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/clk/clk-uclass.c b/drivers/clk/clk-uclass.c
index 3dbe1ce9441..f7709d89a82 100644
--- a/drivers/clk/clk-uclass.c
+++ b/drivers/clk/clk-uclass.c
@@ -594,12 +594,13 @@ ulong clk_set_rate(struct clk *clk, ulong rate)
if (!clk_valid(clk))
return 0;
ops = clk_dev_ops(clk->dev);
+ clk_get_priv(clk, &clkp);
/* Try to find parents which can set rate */
while (!ops->set_rate) {
struct clk *parent;
- if (!(clk->flags & CLK_SET_RATE_PARENT))
+ if (!(clkp->flags & CLK_SET_RATE_PARENT))
return -ENOSYS;
parent = clk_get_parent(clk);
@@ -608,10 +609,9 @@ ulong clk_set_rate(struct clk *clk, ulong rate)
clk = parent;
ops = clk_dev_ops(clk->dev);
+ clk_get_priv(clk, &clkp);
}
- /* get private clock struct used for cache */
- clk_get_priv(clk, &clkp);
/* Clean up cached rates for us and all child clocks */
clk_clean_rate_cache(clkp);