aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuca Weiss <luca.weiss@fairphone.com>2025-07-15 09:19:01 +0200
committerBjorn Andersson <andersson@kernel.org>2025-07-16 23:17:04 -0500
commitb21b5b3ae0fce4db3eab052d3e3cc17890e78523 (patch)
tree077305dfbb88f1fd5f2f26ebb98301935d88f247
parentclk: qcom: gcc-x1e80100: Add missing video resets (diff)
downloadlinux-b21b5b3ae0fce4db3eab052d3e3cc17890e78523.tar.gz
linux-b21b5b3ae0fce4db3eab052d3e3cc17890e78523.zip
clk: qcom: common: Add support to register rcg dfs in qcom_cc_really_probe
Add support to register the rcg dfs in qcom_cc_really_probe(). This allows users to move the call from the probe function to static properties. Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250715-sm7635-clocks-v3-1-18f9faac4984@fairphone.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
-rw-r--r--drivers/clk/qcom/common.c10
-rw-r--r--drivers/clk/qcom/common.h2
2 files changed, 12 insertions, 0 deletions
diff --git a/drivers/clk/qcom/common.c b/drivers/clk/qcom/common.c
index b3838d885db2..37c3008e6c1b 100644
--- a/drivers/clk/qcom/common.c
+++ b/drivers/clk/qcom/common.c
@@ -390,6 +390,16 @@ int qcom_cc_really_probe(struct device *dev,
goto put_rpm;
}
+ if (desc->driver_data &&
+ desc->driver_data->dfs_rcgs &&
+ desc->driver_data->num_dfs_rcgs) {
+ ret = qcom_cc_register_rcg_dfs(regmap,
+ desc->driver_data->dfs_rcgs,
+ desc->driver_data->num_dfs_rcgs);
+ if (ret)
+ goto put_rpm;
+ }
+
cc->rclks = rclks;
cc->num_rclks = num_clks;
diff --git a/drivers/clk/qcom/common.h b/drivers/clk/qcom/common.h
index 0f4b2d40c65c..953c91f7b145 100644
--- a/drivers/clk/qcom/common.h
+++ b/drivers/clk/qcom/common.h
@@ -30,6 +30,8 @@ struct qcom_cc_driver_data {
size_t num_alpha_plls;
u32 *clk_cbcrs;
size_t num_clk_cbcrs;
+ const struct clk_rcg_dfs_data *dfs_rcgs;
+ size_t num_dfs_rcgs;
void (*clk_regs_configure)(struct device *dev, struct regmap *regmap);
};