[PATCH 08/13] clk: qcom: rpm: drop determine_rate op and use CLK_ROUNDING_FW_MANAGED flag

From: Brian Masney

Date: Thu Feb 26 2026 - 13:27:24 EST


This clk driver has a noop determine_rate clk op. Drop this empty
function, and enable the CLK_ROUNDING_FW_MANAGED flag.

Signed-off-by: Brian Masney <bmasney@xxxxxxxxxx>

---
To: Bjorn Andersson <andersson@xxxxxxxxxx>
To: Michael Turquette <mturquette@xxxxxxxxxxxx>
To: Stephen Boyd <sboyd@xxxxxxxxxx>
Cc: linux-arm-msm@xxxxxxxxxxxxxxx
Cc: linux-clk@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
---
drivers/clk/qcom/clk-rpm.c | 16 +++-------------
1 file changed, 3 insertions(+), 13 deletions(-)

diff --git a/drivers/clk/qcom/clk-rpm.c b/drivers/clk/qcom/clk-rpm.c
index be0145631197bea65438f3bed10344f18d6de802..7875cd1815f524572f630242e3b71ff0810cdeda 100644
--- a/drivers/clk/qcom/clk-rpm.c
+++ b/drivers/clk/qcom/clk-rpm.c
@@ -42,6 +42,7 @@ static const struct clk_parent_data gcc_cxo[] = {
.name = #_name "_clk", \
.parent_data = gcc_pxo, \
.num_parents = ARRAY_SIZE(gcc_pxo), \
+ .flags = CLK_ROUNDING_FW_MANAGED, \
}, \
}; \
static struct clk_rpm clk_rpm_##_name##_a_clk = { \
@@ -54,6 +55,7 @@ static const struct clk_parent_data gcc_cxo[] = {
.name = #_name "_a_clk", \
.parent_data = gcc_pxo, \
.num_parents = ARRAY_SIZE(gcc_pxo), \
+ .flags = CLK_ROUNDING_FW_MANAGED, \
}, \
}

@@ -78,6 +80,7 @@ static const struct clk_parent_data gcc_cxo[] = {
.name = #_name "_clk", \
.parent_data = gcc_pxo, \
.num_parents = ARRAY_SIZE(gcc_pxo), \
+ .flags = CLK_ROUNDING_FW_MANAGED, \
}, \
}

@@ -351,17 +354,6 @@ static int clk_rpm_set_rate(struct clk_hw *hw,
return 0;
}

-static int clk_rpm_determine_rate(struct clk_hw *hw,
- struct clk_rate_request *req)
-{
- /*
- * RPM handles rate rounding and we don't have a way to
- * know what the rate will be, so just return whatever
- * rate is requested.
- */
- return 0;
-}
-
static unsigned long clk_rpm_recalc_rate(struct clk_hw *hw,
unsigned long parent_rate)
{
@@ -383,7 +375,6 @@ static const struct clk_ops clk_rpm_xo_ops = {
static const struct clk_ops clk_rpm_fixed_ops = {
.prepare = clk_rpm_fixed_prepare,
.unprepare = clk_rpm_fixed_unprepare,
- .determine_rate = clk_rpm_determine_rate,
.recalc_rate = clk_rpm_recalc_rate,
};

@@ -391,7 +382,6 @@ static const struct clk_ops clk_rpm_ops = {
.prepare = clk_rpm_prepare,
.unprepare = clk_rpm_unprepare,
.set_rate = clk_rpm_set_rate,
- .determine_rate = clk_rpm_determine_rate,
.recalc_rate = clk_rpm_recalc_rate,
};


--
2.53.0