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.we...@fairphone.com>
---
 drivers/clk/qcom/common.c | 10 ++++++++++
 drivers/clk/qcom/common.h |  2 ++
 2 files changed, 12 insertions(+)

diff --git a/drivers/clk/qcom/common.c b/drivers/clk/qcom/common.c
index 
b3838d885db25f183979576e5c685c07dc6a7049..37c3008e6c1be1f083d0093d2659e31dd7978497
 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 
0f4b2d40c65cf94de694226f63ca30f4181d0ce5..953c91f7b14502546d8ade0dccc4790fcbb53ddb
 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);
 };
 

-- 
2.50.1


Reply via email to