summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Boyd <sboyd@kernel.org>2026-06-13 13:59:57 -0700
committerStephen Boyd <sboyd@kernel.org>2026-06-13 13:59:57 -0700
commitc400e4ceb915effc506bbdb1756b3ac587fa3a82 (patch)
tree862da94dd926fe3a49486fec47d5a146af9ca5cd
parent254f49634ee16a731174d2ae34bc50bd5f45e731 (diff)
parent2b0123e4a9257fa2933d13d1bca9ac36467efac1 (diff)
Merge tag 'ti-k3-sci-clk-for-v7.2' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into clk-ti
Pull TI K3 SCI clock updates from Nishanth Menon: - Fix incorrect application of sizeof to a pointer type in TI sci-clk driver - Disable clock rate caching in the keystone clock driver to ensure accurate rate reporting * tag 'ti-k3-sci-clk-for-v7.2' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux: clk: keystone: sci-clk: fix application of sizeof to pointer clk: keystone: don't cache clock rate
-rw-r--r--drivers/clk/keystone/sci-clk.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/clk/keystone/sci-clk.c b/drivers/clk/keystone/sci-clk.c
index 9d5071223f4c..aed8dba29126 100644
--- a/drivers/clk/keystone/sci-clk.c
+++ b/drivers/clk/keystone/sci-clk.c
@@ -333,6 +333,14 @@ static int _sci_clk_build(struct sci_clk_provider *provider,
init.ops = &sci_clk_ops;
init.num_parents = sci_clk->num_parents;
+
+ /*
+ * A clock rate query to the SCI firmware will return 0 if either the
+ * clock itself is disabled or the attached device/consumer is disabled.
+ * This makes it inherently unsuitable for the caching of the clk
+ * framework.
+ */
+ init.flags = CLK_GET_RATE_NOCACHE;
sci_clk->hw.init = &init;
ret = devm_clk_hw_register(provider->dev, &sci_clk->hw);
@@ -388,7 +396,7 @@ static struct clk_hw *sci_clk_get(struct of_phandle_args *clkspec, void *data)
key.clk_id = clkspec->args[1];
clk = bsearch(&key, provider->clocks, provider->num_clocks,
- sizeof(clk), _cmp_sci_clk);
+ sizeof(*clk), _cmp_sci_clk);
if (!clk)
return ERR_PTR(-ENODEV);