* [PATCH v3 01/15] clk: imx: scu: drop redundant init.ops variable assignment
2026-05-06 0:48 [PATCH v3 00/15] clk: introduce clk_determine_rate_noop() and update drivers to use it Brian Masney
@ 2026-05-06 0:48 ` Brian Masney
2026-05-06 0:48 ` [PATCH v3 02/15] clk: add clk_determine_rate_noop() Brian Masney
` (13 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Brian Masney @ 2026-05-06 0:48 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd, Brian Masney
Cc: linux-clk, linux-kernel, Peng Fan, Abel Vesa, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, imx,
linux-arm-kernel
The init.ops is assigned a default value, however right below it is an
if, else if, and else where all of them also assign a value to init.ops.
Drop the redundant init.ops assignment at the top.
Fixes: 3b9ea606cda53 ("clk: imx: scu: add cpu frequency scaling support")
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Brian Masney <bmasney@redhat.com>
---
To: Abel Vesa <abelvesa@kernel.org>
To: Michael Turquette <mturquette@baylibre.com>
To: Stephen Boyd <sboyd@kernel.org>
To: Frank Li <Frank.Li@nxp.com>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Brian Masney <bmasney@redhat.com>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: linux-clk@vger.kernel.org
Cc: imx@lists.linux.dev
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
---
drivers/clk/imx/clk-scu.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/clk/imx/clk-scu.c b/drivers/clk/imx/clk-scu.c
index 9b33df9967ec..658b6d94de9b 100644
--- a/drivers/clk/imx/clk-scu.c
+++ b/drivers/clk/imx/clk-scu.c
@@ -475,7 +475,6 @@ struct clk_hw *__imx_clk_scu(struct device *dev, const char *name,
clk->clk_type = clk_type;
init.name = name;
- init.ops = &clk_scu_ops;
if (rsrc_id == IMX_SC_R_A35 || rsrc_id == IMX_SC_R_A53 || rsrc_id == IMX_SC_R_A72)
init.ops = &clk_scu_cpu_ops;
else if (rsrc_id == IMX_SC_R_PI_0_PLL)
--
2.54.0
^ permalink raw reply related [flat|nested] 21+ messages in thread* [PATCH v3 02/15] clk: add clk_determine_rate_noop()
2026-05-06 0:48 [PATCH v3 00/15] clk: introduce clk_determine_rate_noop() and update drivers to use it Brian Masney
2026-05-06 0:48 ` [PATCH v3 01/15] clk: imx: scu: drop redundant init.ops variable assignment Brian Masney
@ 2026-05-06 0:48 ` Brian Masney
2026-05-06 0:48 ` [PATCH v3 03/15] clk: hisilicon: hi3660-stub: use clk_determine_rate_noop() Brian Masney
` (12 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Brian Masney @ 2026-05-06 0:48 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd, Brian Masney
Cc: linux-clk, linux-kernel, Abel Vesa, Peng Fan, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Anson Huang,
Bjorn Andersson, Geert Uytterhoeven, Andrea della Porta,
Tudor Ambarus, Krzysztof Kozlowski, Sylwester Nawrocki,
Chanwoo Choi, Alim Akhtar, Sudeep Holla, Cristian Marussi,
Orson Zhai, Baolin Wang, Chunyan Zhang, Chun-Kuang Hu,
Philipp Zabel, Chunfeng Yun, Vinod Koul, Neil Armstrong,
Matthias Brugger, AngeloGioacchino Del Regno, Ulf Hansson, imx,
linux-arm-kernel, linux-arm-msm, linux-renesas-soc,
linux-samsung-soc, arm-scmi, dri-devel, linux-mediatek, linux-phy,
linux-pm
Add a new helper clk_determine_rate_noop() that's for clocks where the
rate rounding is handled by the firmware/hardware, or the clock is
capable of any rate. The requested rate is passed through unchanged,
and the actual rate will be learned via recalc_rate() after the rate
is set.
This shared helper will be used to get rid of the driver-specific empty
determine rate implementations that are present in the tree.
Signed-off-by: Brian Masney <bmasney@redhat.com>
---
To: Michael Turquette <mturquette@baylibre.com>
To: Stephen Boyd <sboyd@kernel.org>
To: Brian Masney <bmasney@redhat.com>
To: Abel Vesa <abelvesa@kernel.org>
To: Peng Fan <peng.fan@nxp.com>
To: Frank Li <Frank.Li@nxp.com>
To: Sascha Hauer <s.hauer@pengutronix.de>
To: Pengutronix Kernel Team <kernel@pengutronix.de>
To: Fabio Estevam <festevam@gmail.com>
To: Anson Huang <anson.huang@nxp.com>
To: Bjorn Andersson <andersson@kernel.org>
To: Geert Uytterhoeven <geert+renesas@glider.be>
To: Andrea della Porta <andrea.porta@suse.com>
To: Tudor Ambarus <tudor.ambarus@linaro.org>
To: Krzysztof Kozlowski <krzk@kernel.org>
To: Sylwester Nawrocki <s.nawrocki@samsung.com>
To: Chanwoo Choi <cw00.choi@samsung.com>
To: Alim Akhtar <alim.akhtar@samsung.com>
To: Sudeep Holla <sudeep.holla@kernel.org>
To: Cristian Marussi <cristian.marussi@arm.com>
To: Orson Zhai <orsonzhai@gmail.com>
To: Baolin Wang <baolin.wang@linux.alibaba.com>
To: Chunyan Zhang <zhang.lyra@gmail.com>
To: Chun-Kuang Hu <chunkuang.hu@kernel.org>
To: Philipp Zabel <p.zabel@pengutronix.de>
To: Chunfeng Yun <chunfeng.yun@mediatek.com>
To: Vinod Koul <vkoul@kernel.org>
To: Neil Armstrong <neil.armstrong@linaro.org>
To: Matthias Brugger <matthias.bgg@gmail.com>
To: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
To: Ulf Hansson <ulfh@kernel.org>
Cc: linux-clk@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: imx@lists.linux.dev
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-arm-msm@vger.kernel.org
Cc: linux-renesas-soc@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: arm-scmi@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: linux-mediatek@lists.infradead.org
Cc: linux-phy@lists.infradead.org
Cc: linux-pm@vger.kernel.org
---
drivers/clk/clk.c | 18 ++++++++++++++++++
include/linux/clk-provider.h | 1 +
2 files changed, 19 insertions(+)
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index 048adfa86a5d..956e147f4d4e 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -882,6 +882,24 @@ int clk_hw_determine_rate_no_reparent(struct clk_hw *hw,
}
EXPORT_SYMBOL_GPL(clk_hw_determine_rate_no_reparent);
+/**
+ * clk_determine_rate_noop - clk_ops::determine_rate noop implementation
+ * @hw: clk to determine rate on
+ * @req: rate request
+ *
+ * Noop determine rate for clocks where the rate rounding is handled by the
+ * firmware/hardware, or the clock is capable of any rate. The requested rate is
+ * passed through unchanged, and the actual rate will be learned via
+ * recalc_rate() after the rate is set.
+ *
+ * Returns: 0 always
+ */
+int clk_determine_rate_noop(struct clk_hw *hw, struct clk_rate_request *req)
+{
+ return 0;
+}
+EXPORT_SYMBOL_GPL(clk_determine_rate_noop);
+
/*** clk api ***/
static void clk_core_rate_unprotect(struct clk_core *core)
diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h
index b01a38fef8cf..334b9211a157 100644
--- a/include/linux/clk-provider.h
+++ b/include/linux/clk-provider.h
@@ -1431,6 +1431,7 @@ int clk_mux_determine_rate_flags(struct clk_hw *hw,
unsigned long flags);
int clk_hw_determine_rate_no_reparent(struct clk_hw *hw,
struct clk_rate_request *req);
+int clk_determine_rate_noop(struct clk_hw *hw, struct clk_rate_request *req);
void clk_hw_reparent(struct clk_hw *hw, struct clk_hw *new_parent);
void clk_hw_get_rate_range(struct clk_hw *hw, unsigned long *min_rate,
unsigned long *max_rate);
--
2.54.0
^ permalink raw reply related [flat|nested] 21+ messages in thread* [PATCH v3 03/15] clk: hisilicon: hi3660-stub: use clk_determine_rate_noop()
2026-05-06 0:48 [PATCH v3 00/15] clk: introduce clk_determine_rate_noop() and update drivers to use it Brian Masney
2026-05-06 0:48 ` [PATCH v3 01/15] clk: imx: scu: drop redundant init.ops variable assignment Brian Masney
2026-05-06 0:48 ` [PATCH v3 02/15] clk: add clk_determine_rate_noop() Brian Masney
@ 2026-05-06 0:48 ` Brian Masney
2026-05-06 0:49 ` [PATCH v3 04/15] clk: imx: scu: " Brian Masney
` (11 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Brian Masney @ 2026-05-06 0:48 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd, Brian Masney; +Cc: linux-clk, linux-kernel
Drop the driver-specific empty determine_rate() function and use the new
shared clk_determine_rate_noop() helper.
Signed-off-by: Brian Masney <bmasney@redhat.com>
---
To: Michael Turquette <mturquette@baylibre.com>
To: Stephen Boyd <sboyd@kernel.org>
Cc: Brian Masney <bmasney@redhat.com>
Cc: linux-clk@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
drivers/clk/hisilicon/clk-hi3660-stub.c | 12 +-----------
1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/drivers/clk/hisilicon/clk-hi3660-stub.c b/drivers/clk/hisilicon/clk-hi3660-stub.c
index 7c8b00ee6019..0cb1c0538eae 100644
--- a/drivers/clk/hisilicon/clk-hi3660-stub.c
+++ b/drivers/clk/hisilicon/clk-hi3660-stub.c
@@ -67,16 +67,6 @@ static unsigned long hi3660_stub_clk_recalc_rate(struct clk_hw *hw,
return stub_clk->rate;
}
-static int hi3660_stub_clk_determine_rate(struct clk_hw *hw,
- struct clk_rate_request *req)
-{
- /*
- * LPM3 handles rate rounding so just return whatever
- * rate is requested.
- */
- return 0;
-}
-
static int hi3660_stub_clk_set_rate(struct clk_hw *hw, unsigned long rate,
unsigned long parent_rate)
{
@@ -97,7 +87,7 @@ static int hi3660_stub_clk_set_rate(struct clk_hw *hw, unsigned long rate,
static const struct clk_ops hi3660_stub_clk_ops = {
.recalc_rate = hi3660_stub_clk_recalc_rate,
- .determine_rate = hi3660_stub_clk_determine_rate,
+ .determine_rate = clk_determine_rate_noop,
.set_rate = hi3660_stub_clk_set_rate,
};
--
2.54.0
^ permalink raw reply related [flat|nested] 21+ messages in thread* [PATCH v3 04/15] clk: imx: scu: use clk_determine_rate_noop()
2026-05-06 0:48 [PATCH v3 00/15] clk: introduce clk_determine_rate_noop() and update drivers to use it Brian Masney
` (2 preceding siblings ...)
2026-05-06 0:48 ` [PATCH v3 03/15] clk: hisilicon: hi3660-stub: use clk_determine_rate_noop() Brian Masney
@ 2026-05-06 0:49 ` Brian Masney
2026-05-06 0:49 ` [PATCH v3 05/15] clk: qcom: rpm: " Brian Masney
` (10 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Brian Masney @ 2026-05-06 0:49 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd, Brian Masney
Cc: linux-clk, linux-kernel, Abel Vesa, Frank Li, Sascha Hauer,
Peng Fan, Pengutronix Kernel Team, Fabio Estevam, imx,
linux-arm-kernel
Drop the driver-specific empty determine_rate() function and use the new
shared clk_determine_rate_noop() helper.
Signed-off-by: Brian Masney <bmasney@redhat.com>
---
To: Abel Vesa <abelvesa@kernel.org>
To: Michael Turquette <mturquette@baylibre.com>
To: Stephen Boyd <sboyd@kernel.org>
To: Frank Li <Frank.Li@nxp.com>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Brian Masney <bmasney@redhat.com>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: linux-clk@vger.kernel.org
Cc: imx@lists.linux.dev
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
---
drivers/clk/imx/clk-scu.c | 23 +++--------------------
1 file changed, 3 insertions(+), 20 deletions(-)
diff --git a/drivers/clk/imx/clk-scu.c b/drivers/clk/imx/clk-scu.c
index 658b6d94de9b..44220e9c5c2a 100644
--- a/drivers/clk/imx/clk-scu.c
+++ b/drivers/clk/imx/clk-scu.c
@@ -262,23 +262,6 @@ static unsigned long clk_scu_recalc_rate(struct clk_hw *hw,
return le32_to_cpu(msg.data.resp.rate);
}
-/*
- * clk_scu_determine_rate - Returns the closest rate for a SCU clock
- * @hw: clock to round rate for
- * @req: clock rate request
- *
- * Returns 0 on success, a negative error on failure
- */
-static int clk_scu_determine_rate(struct clk_hw *hw,
- struct clk_rate_request *req)
-{
- /*
- * Assume we support all the requested rate and let the SCU firmware
- * to handle the left work
- */
- return 0;
-}
-
static int clk_scu_atf_set_cpu_rate(struct clk_hw *hw, unsigned long rate,
unsigned long parent_rate)
{
@@ -436,7 +419,7 @@ static void clk_scu_unprepare(struct clk_hw *hw)
static const struct clk_ops clk_scu_ops = {
.recalc_rate = clk_scu_recalc_rate,
- .determine_rate = clk_scu_determine_rate,
+ .determine_rate = clk_determine_rate_noop,
.set_rate = clk_scu_set_rate,
.get_parent = clk_scu_get_parent,
.set_parent = clk_scu_set_parent,
@@ -446,7 +429,7 @@ static const struct clk_ops clk_scu_ops = {
static const struct clk_ops clk_scu_cpu_ops = {
.recalc_rate = clk_scu_recalc_rate,
- .determine_rate = clk_scu_determine_rate,
+ .determine_rate = clk_determine_rate_noop,
.set_rate = clk_scu_atf_set_cpu_rate,
.prepare = clk_scu_prepare,
.unprepare = clk_scu_unprepare,
@@ -454,7 +437,7 @@ static const struct clk_ops clk_scu_cpu_ops = {
static const struct clk_ops clk_scu_pi_ops = {
.recalc_rate = clk_scu_recalc_rate,
- .determine_rate = clk_scu_determine_rate,
+ .determine_rate = clk_determine_rate_noop,
.set_rate = clk_scu_set_rate,
};
--
2.54.0
^ permalink raw reply related [flat|nested] 21+ messages in thread* [PATCH v3 05/15] clk: qcom: rpm: use clk_determine_rate_noop()
2026-05-06 0:48 [PATCH v3 00/15] clk: introduce clk_determine_rate_noop() and update drivers to use it Brian Masney
` (3 preceding siblings ...)
2026-05-06 0:49 ` [PATCH v3 04/15] clk: imx: scu: " Brian Masney
@ 2026-05-06 0:49 ` Brian Masney
2026-05-06 0:49 ` [PATCH v3 06/15] clk: qcom: rpmh: " Brian Masney
` (9 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Brian Masney @ 2026-05-06 0:49 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd, Brian Masney
Cc: linux-clk, linux-kernel, Bjorn Andersson, linux-arm-msm
Drop the driver-specific empty determine_rate() function and use the new
shared clk_determine_rate_noop() helper.
Signed-off-by: Brian Masney <bmasney@redhat.com>
---
To: Bjorn Andersson <andersson@kernel.org>
To: Michael Turquette <mturquette@baylibre.com>
To: Stephen Boyd <sboyd@kernel.org>
Cc: Brian Masney <bmasney@redhat.com>
Cc: linux-arm-msm@vger.kernel.org
Cc: linux-clk@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
drivers/clk/qcom/clk-rpm.c | 15 ++-------------
1 file changed, 2 insertions(+), 13 deletions(-)
diff --git a/drivers/clk/qcom/clk-rpm.c b/drivers/clk/qcom/clk-rpm.c
index be0145631197..74f569b58017 100644
--- a/drivers/clk/qcom/clk-rpm.c
+++ b/drivers/clk/qcom/clk-rpm.c
@@ -351,17 +351,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 +372,7 @@ 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,
+ .determine_rate = clk_determine_rate_noop,
.recalc_rate = clk_rpm_recalc_rate,
};
@@ -391,7 +380,7 @@ 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,
+ .determine_rate = clk_determine_rate_noop,
.recalc_rate = clk_rpm_recalc_rate,
};
--
2.54.0
^ permalink raw reply related [flat|nested] 21+ messages in thread* [PATCH v3 06/15] clk: qcom: rpmh: use clk_determine_rate_noop()
2026-05-06 0:48 [PATCH v3 00/15] clk: introduce clk_determine_rate_noop() and update drivers to use it Brian Masney
` (4 preceding siblings ...)
2026-05-06 0:49 ` [PATCH v3 05/15] clk: qcom: rpm: " Brian Masney
@ 2026-05-06 0:49 ` Brian Masney
2026-05-06 0:49 ` [PATCH v3 07/15] clk: qcom: smd-rpm: " Brian Masney
` (8 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Brian Masney @ 2026-05-06 0:49 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd, Brian Masney
Cc: linux-clk, linux-kernel, Bjorn Andersson, linux-arm-msm
Drop the driver-specific empty determine_rate() function and use the new
shared clk_determine_rate_noop() helper.
Signed-off-by: Brian Masney <bmasney@redhat.com>
---
To: Bjorn Andersson <andersson@kernel.org>
To: Michael Turquette <mturquette@baylibre.com>
To: Stephen Boyd <sboyd@kernel.org>
Cc: Brian Masney <bmasney@redhat.com>
Cc: linux-arm-msm@vger.kernel.org
Cc: linux-clk@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
drivers/clk/qcom/clk-rpmh.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/drivers/clk/qcom/clk-rpmh.c b/drivers/clk/qcom/clk-rpmh.c
index 339a6bbcdc4c..d19346509cb7 100644
--- a/drivers/clk/qcom/clk-rpmh.c
+++ b/drivers/clk/qcom/clk-rpmh.c
@@ -321,12 +321,6 @@ static int clk_rpmh_bcm_set_rate(struct clk_hw *hw, unsigned long rate,
return 0;
}
-static int clk_rpmh_determine_rate(struct clk_hw *hw,
- struct clk_rate_request *req)
-{
- return 0;
-}
-
static unsigned long clk_rpmh_bcm_recalc_rate(struct clk_hw *hw,
unsigned long prate)
{
@@ -339,7 +333,7 @@ static const struct clk_ops clk_rpmh_bcm_ops = {
.prepare = clk_rpmh_bcm_prepare,
.unprepare = clk_rpmh_bcm_unprepare,
.set_rate = clk_rpmh_bcm_set_rate,
- .determine_rate = clk_rpmh_determine_rate,
+ .determine_rate = clk_determine_rate_noop,
.recalc_rate = clk_rpmh_bcm_recalc_rate,
};
--
2.54.0
^ permalink raw reply related [flat|nested] 21+ messages in thread* [PATCH v3 07/15] clk: qcom: smd-rpm: use clk_determine_rate_noop()
2026-05-06 0:48 [PATCH v3 00/15] clk: introduce clk_determine_rate_noop() and update drivers to use it Brian Masney
` (5 preceding siblings ...)
2026-05-06 0:49 ` [PATCH v3 06/15] clk: qcom: rpmh: " Brian Masney
@ 2026-05-06 0:49 ` Brian Masney
2026-05-06 0:49 ` [PATCH v3 08/15] clk: renesas: rzg2l-cpg: " Brian Masney
` (7 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Brian Masney @ 2026-05-06 0:49 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd, Brian Masney
Cc: linux-clk, linux-kernel, Bjorn Andersson, linux-arm-msm
Drop the driver-specific empty determine_rate() function and use the new
shared clk_determine_rate_noop() helper.
Signed-off-by: Brian Masney <bmasney@redhat.com>
---
To: Bjorn Andersson <andersson@kernel.org>
To: Michael Turquette <mturquette@baylibre.com>
To: Stephen Boyd <sboyd@kernel.org>
Cc: Brian Masney <bmasney@redhat.com>
Cc: linux-arm-msm@vger.kernel.org
Cc: linux-clk@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
drivers/clk/qcom/clk-smd-rpm.c | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)
diff --git a/drivers/clk/qcom/clk-smd-rpm.c b/drivers/clk/qcom/clk-smd-rpm.c
index 103db984a40b..f28cf9646cb9 100644
--- a/drivers/clk/qcom/clk-smd-rpm.c
+++ b/drivers/clk/qcom/clk-smd-rpm.c
@@ -370,17 +370,6 @@ static int clk_smd_rpm_set_rate(struct clk_hw *hw, unsigned long rate,
return 0;
}
-static int clk_smd_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_smd_rpm_recalc_rate(struct clk_hw *hw,
unsigned long parent_rate)
{
@@ -427,7 +416,7 @@ static const struct clk_ops clk_smd_rpm_ops = {
.prepare = clk_smd_rpm_prepare,
.unprepare = clk_smd_rpm_unprepare,
.set_rate = clk_smd_rpm_set_rate,
- .determine_rate = clk_smd_rpm_determine_rate,
+ .determine_rate = clk_determine_rate_noop,
.recalc_rate = clk_smd_rpm_recalc_rate,
};
--
2.54.0
^ permalink raw reply related [flat|nested] 21+ messages in thread* [PATCH v3 08/15] clk: renesas: rzg2l-cpg: use clk_determine_rate_noop()
2026-05-06 0:48 [PATCH v3 00/15] clk: introduce clk_determine_rate_noop() and update drivers to use it Brian Masney
` (6 preceding siblings ...)
2026-05-06 0:49 ` [PATCH v3 07/15] clk: qcom: smd-rpm: " Brian Masney
@ 2026-05-06 0:49 ` Brian Masney
2026-05-06 7:19 ` Geert Uytterhoeven
2026-05-06 0:49 ` [PATCH v3 09/15] clk: rp1: " Brian Masney
` (6 subsequent siblings)
14 siblings, 1 reply; 21+ messages in thread
From: Brian Masney @ 2026-05-06 0:49 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd, Brian Masney
Cc: linux-clk, linux-kernel, Geert Uytterhoeven, linux-renesas-soc
Drop the driver-specific empty determine_rate() function and use the new
shared clk_determine_rate_noop() helper.
Signed-off-by: Brian Masney <bmasney@redhat.com>
---
To: Geert Uytterhoeven <geert+renesas@glider.be>
To: Michael Turquette <mturquette@baylibre.com>
To: Stephen Boyd <sboyd@kernel.org>
Cc: Brian Masney <bmasney@redhat.com>
Cc: linux-renesas-soc@vger.kernel.org
Cc: linux-clk@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
drivers/clk/renesas/rzg2l-cpg.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/drivers/clk/renesas/rzg2l-cpg.c b/drivers/clk/renesas/rzg2l-cpg.c
index f98b6eb4f501..2d2d792859be 100644
--- a/drivers/clk/renesas/rzg2l-cpg.c
+++ b/drivers/clk/renesas/rzg2l-cpg.c
@@ -945,12 +945,6 @@ static unsigned long rzg2l_cpg_sipll5_recalc_rate(struct clk_hw *hw,
return pll5_rate;
}
-static int rzg2l_cpg_sipll5_determine_rate(struct clk_hw *hw,
- struct clk_rate_request *req)
-{
- return 0;
-}
-
static int rzg2l_cpg_sipll5_set_rate(struct clk_hw *hw,
unsigned long rate,
unsigned long parent_rate)
@@ -1022,7 +1016,7 @@ static int rzg2l_cpg_sipll5_set_rate(struct clk_hw *hw,
static const struct clk_ops rzg2l_cpg_sipll5_ops = {
.recalc_rate = rzg2l_cpg_sipll5_recalc_rate,
- .determine_rate = rzg2l_cpg_sipll5_determine_rate,
+ .determine_rate = clk_determine_rate_noop,
.set_rate = rzg2l_cpg_sipll5_set_rate,
};
--
2.54.0
^ permalink raw reply related [flat|nested] 21+ messages in thread* Re: [PATCH v3 08/15] clk: renesas: rzg2l-cpg: use clk_determine_rate_noop()
2026-05-06 0:49 ` [PATCH v3 08/15] clk: renesas: rzg2l-cpg: " Brian Masney
@ 2026-05-06 7:19 ` Geert Uytterhoeven
0 siblings, 0 replies; 21+ messages in thread
From: Geert Uytterhoeven @ 2026-05-06 7:19 UTC (permalink / raw)
To: Brian Masney
Cc: Michael Turquette, Stephen Boyd, linux-clk, linux-kernel,
linux-renesas-soc
On Wed, 6 May 2026 at 02:50, Brian Masney <bmasney@redhat.com> wrote:
> Drop the driver-specific empty determine_rate() function and use the new
> shared clk_determine_rate_noop() helper.
>
> Signed-off-by: Brian Masney <bmasney@redhat.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH v3 09/15] clk: rp1: use clk_determine_rate_noop()
2026-05-06 0:48 [PATCH v3 00/15] clk: introduce clk_determine_rate_noop() and update drivers to use it Brian Masney
` (7 preceding siblings ...)
2026-05-06 0:49 ` [PATCH v3 08/15] clk: renesas: rzg2l-cpg: " Brian Masney
@ 2026-05-06 0:49 ` Brian Masney
2026-05-06 10:05 ` Andrea della Porta
2026-05-06 0:49 ` [PATCH v3 10/15] clk: samsung: acpm: " Brian Masney
` (5 subsequent siblings)
14 siblings, 1 reply; 21+ messages in thread
From: Brian Masney @ 2026-05-06 0:49 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd, Brian Masney
Cc: linux-clk, linux-kernel, Andrea della Porta
Drop the driver-specific empty determine_rate() function and use the new
shared clk_determine_rate_noop() helper.
Signed-off-by: Brian Masney <bmasney@redhat.com>
---
To: Andrea della Porta <andrea.porta@suse.com>
To: Michael Turquette <mturquette@baylibre.com>
To: Stephen Boyd <sboyd@kernel.org>
Cc: Brian Masney <bmasney@redhat.com>
Cc: linux-clk@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
drivers/clk/clk-rp1.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/drivers/clk/clk-rp1.c b/drivers/clk/clk-rp1.c
index fd144755b879..0f7d9fd77481 100644
--- a/drivers/clk/clk-rp1.c
+++ b/drivers/clk/clk-rp1.c
@@ -1174,12 +1174,6 @@ static unsigned long rp1_varsrc_recalc_rate(struct clk_hw *hw,
return clock->cached_rate;
}
-static int rp1_varsrc_determine_rate(struct clk_hw *hw,
- struct clk_rate_request *req)
-{
- return 0;
-}
-
static const struct clk_ops rp1_pll_core_ops = {
.is_prepared = rp1_pll_core_is_on,
.prepare = rp1_pll_core_on,
@@ -1227,7 +1221,7 @@ static const struct clk_ops rp1_clk_ops = {
static const struct clk_ops rp1_varsrc_ops = {
.set_rate = rp1_varsrc_set_rate,
.recalc_rate = rp1_varsrc_recalc_rate,
- .determine_rate = rp1_varsrc_determine_rate,
+ .determine_rate = clk_determine_rate_noop,
};
static struct clk_hw *rp1_register_pll(struct rp1_clockman *clockman,
--
2.54.0
^ permalink raw reply related [flat|nested] 21+ messages in thread* Re: [PATCH v3 09/15] clk: rp1: use clk_determine_rate_noop()
2026-05-06 0:49 ` [PATCH v3 09/15] clk: rp1: " Brian Masney
@ 2026-05-06 10:05 ` Andrea della Porta
0 siblings, 0 replies; 21+ messages in thread
From: Andrea della Porta @ 2026-05-06 10:05 UTC (permalink / raw)
To: Brian Masney
Cc: Michael Turquette, Stephen Boyd, linux-clk, linux-kernel,
Andrea della Porta
Hi Brian,
On 20:49 Tue 05 May , Brian Masney wrote:
> Drop the driver-specific empty determine_rate() function and use the new
> shared clk_determine_rate_noop() helper.
>
> Signed-off-by: Brian Masney <bmasney@redhat.com>
> ---
> To: Andrea della Porta <andrea.porta@suse.com>
> To: Michael Turquette <mturquette@baylibre.com>
> To: Stephen Boyd <sboyd@kernel.org>
> Cc: Brian Masney <bmasney@redhat.com>
> Cc: linux-clk@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> ---
> drivers/clk/clk-rp1.c | 8 +-------
> 1 file changed, 1 insertion(+), 7 deletions(-)
>
> diff --git a/drivers/clk/clk-rp1.c b/drivers/clk/clk-rp1.c
> index fd144755b879..0f7d9fd77481 100644
> --- a/drivers/clk/clk-rp1.c
> +++ b/drivers/clk/clk-rp1.c
> @@ -1174,12 +1174,6 @@ static unsigned long rp1_varsrc_recalc_rate(struct clk_hw *hw,
> return clock->cached_rate;
> }
>
> -static int rp1_varsrc_determine_rate(struct clk_hw *hw,
> - struct clk_rate_request *req)
> -{
> - return 0;
> -}
> -
> static const struct clk_ops rp1_pll_core_ops = {
> .is_prepared = rp1_pll_core_is_on,
> .prepare = rp1_pll_core_on,
> @@ -1227,7 +1221,7 @@ static const struct clk_ops rp1_clk_ops = {
> static const struct clk_ops rp1_varsrc_ops = {
> .set_rate = rp1_varsrc_set_rate,
> .recalc_rate = rp1_varsrc_recalc_rate,
> - .determine_rate = rp1_varsrc_determine_rate,
> + .determine_rate = clk_determine_rate_noop,
> };
>
> static struct clk_hw *rp1_register_pll(struct rp1_clockman *clockman,
>
> --
> 2.54.0
>
Reviewed-by: Andrea della Porta <andrea.porta@suse.com>
Thanks!
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH v3 10/15] clk: samsung: acpm: use clk_determine_rate_noop()
2026-05-06 0:48 [PATCH v3 00/15] clk: introduce clk_determine_rate_noop() and update drivers to use it Brian Masney
` (8 preceding siblings ...)
2026-05-06 0:49 ` [PATCH v3 09/15] clk: rp1: " Brian Masney
@ 2026-05-06 0:49 ` Brian Masney
2026-05-06 11:55 ` Tudor Ambarus
2026-05-06 13:47 ` Krzysztof Kozlowski
2026-05-06 0:49 ` [PATCH v3 11/15] clk: scpi: " Brian Masney
` (4 subsequent siblings)
14 siblings, 2 replies; 21+ messages in thread
From: Brian Masney @ 2026-05-06 0:49 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd, Brian Masney
Cc: linux-clk, linux-kernel, Tudor Ambarus, Krzysztof Kozlowski,
Sylwester Nawrocki, Chanwoo Choi, Alim Akhtar, linux-samsung-soc
Drop the driver-specific empty determine_rate() function and use the new
shared clk_determine_rate_noop() helper.
Signed-off-by: Brian Masney <bmasney@redhat.com>
---
To: Tudor Ambarus <tudor.ambarus@linaro.org>
To: Krzysztof Kozlowski <krzk@kernel.org>
To: Sylwester Nawrocki <s.nawrocki@samsung.com>
To: Chanwoo Choi <cw00.choi@samsung.com>
To: Michael Turquette <mturquette@baylibre.com>
To: Stephen Boyd <sboyd@kernel.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Brian Masney <bmasney@redhat.com>
Cc: linux-kernel@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-clk@vger.kernel.org
---
drivers/clk/samsung/clk-acpm.c | 14 +-------------
1 file changed, 1 insertion(+), 13 deletions(-)
diff --git a/drivers/clk/samsung/clk-acpm.c b/drivers/clk/samsung/clk-acpm.c
index d8944160793a..7a07bfd4948b 100644
--- a/drivers/clk/samsung/clk-acpm.c
+++ b/drivers/clk/samsung/clk-acpm.c
@@ -72,18 +72,6 @@ static unsigned long acpm_clk_recalc_rate(struct clk_hw *hw,
clk->mbox_chan_id, clk->id);
}
-static int acpm_clk_determine_rate(struct clk_hw *hw,
- struct clk_rate_request *req)
-{
- /*
- * We can't figure out what rate it will be, so just return the
- * rate back to the caller. acpm_clk_recalc_rate() will be called
- * after the rate is set and we'll know what rate the clock is
- * running at then.
- */
- return 0;
-}
-
static int acpm_clk_set_rate(struct clk_hw *hw, unsigned long rate,
unsigned long parent_rate)
{
@@ -95,7 +83,7 @@ static int acpm_clk_set_rate(struct clk_hw *hw, unsigned long rate,
static const struct clk_ops acpm_clk_ops = {
.recalc_rate = acpm_clk_recalc_rate,
- .determine_rate = acpm_clk_determine_rate,
+ .determine_rate = clk_determine_rate_noop,
.set_rate = acpm_clk_set_rate,
};
--
2.54.0
^ permalink raw reply related [flat|nested] 21+ messages in thread* Re: [PATCH v3 10/15] clk: samsung: acpm: use clk_determine_rate_noop()
2026-05-06 0:49 ` [PATCH v3 10/15] clk: samsung: acpm: " Brian Masney
@ 2026-05-06 11:55 ` Tudor Ambarus
2026-05-06 13:47 ` Krzysztof Kozlowski
1 sibling, 0 replies; 21+ messages in thread
From: Tudor Ambarus @ 2026-05-06 11:55 UTC (permalink / raw)
To: Brian Masney, Michael Turquette, Stephen Boyd
Cc: linux-clk, linux-kernel, Krzysztof Kozlowski, Sylwester Nawrocki,
Chanwoo Choi, Alim Akhtar, linux-samsung-soc, Juan Yescas,
Peter Griffin, André Draszik
Acked-by: Tudor Ambarus <tudor.ambarus@linaro.org>
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH v3 10/15] clk: samsung: acpm: use clk_determine_rate_noop()
2026-05-06 0:49 ` [PATCH v3 10/15] clk: samsung: acpm: " Brian Masney
2026-05-06 11:55 ` Tudor Ambarus
@ 2026-05-06 13:47 ` Krzysztof Kozlowski
2026-05-06 14:34 ` Brian Masney
1 sibling, 1 reply; 21+ messages in thread
From: Krzysztof Kozlowski @ 2026-05-06 13:47 UTC (permalink / raw)
To: Brian Masney, Michael Turquette, Stephen Boyd
Cc: linux-clk, linux-kernel, Tudor Ambarus, Sylwester Nawrocki,
Chanwoo Choi, Alim Akhtar, linux-samsung-soc
On 06/05/2026 02:49, Brian Masney wrote:
> Drop the driver-specific empty determine_rate() function and use the new
> shared clk_determine_rate_noop() helper.
<form letter>
This is a friendly reminder during the review process.
It looks like you received a tag and forgot to add it.
...
If a tag was not added on purpose, please state in the patch changelog
or cover letter why and what changed.
</form letter>
Last part is important.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH v3 10/15] clk: samsung: acpm: use clk_determine_rate_noop()
2026-05-06 13:47 ` Krzysztof Kozlowski
@ 2026-05-06 14:34 ` Brian Masney
0 siblings, 0 replies; 21+ messages in thread
From: Brian Masney @ 2026-05-06 14:34 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Michael Turquette, Stephen Boyd, linux-clk, linux-kernel,
Tudor Ambarus, Sylwester Nawrocki, Chanwoo Choi, Alim Akhtar,
linux-samsung-soc
Hi Krzysztof,
On Wed, May 06, 2026 at 03:47:33PM +0200, Krzysztof Kozlowski wrote:
> On 06/05/2026 02:49, Brian Masney wrote:
> > Drop the driver-specific empty determine_rate() function and use the new
> > shared clk_determine_rate_noop() helper.
>
> <form letter>
> This is a friendly reminder during the review process.
>
> It looks like you received a tag and forgot to add it.
>
> ...
>
> If a tag was not added on purpose, please state in the patch changelog
> or cover letter why and what changed.
> </form letter>
>
> Last part is important.
Sorry I didn't mention that I dropped the existing tags on the cover letter.
I felt that it changed enough in this version that I didn't feel
comfortable preserving the existing tags. The overall change is very simple,
but I didn't want to misrepresent the new work was reviewed by folks.
Brian
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH v3 11/15] clk: scpi: use clk_determine_rate_noop()
2026-05-06 0:48 [PATCH v3 00/15] clk: introduce clk_determine_rate_noop() and update drivers to use it Brian Masney
` (9 preceding siblings ...)
2026-05-06 0:49 ` [PATCH v3 10/15] clk: samsung: acpm: " Brian Masney
@ 2026-05-06 0:49 ` Brian Masney
2026-05-06 0:49 ` [PATCH v3 12/15] clk: sprd: " Brian Masney
` (3 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Brian Masney @ 2026-05-06 0:49 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd, Brian Masney
Cc: linux-clk, linux-kernel, Sudeep Holla, Cristian Marussi, arm-scmi,
linux-arm-kernel
Drop the driver-specific empty determine_rate() function and use the new
shared clk_determine_rate_noop() helper.
Signed-off-by: Brian Masney <bmasney@redhat.com>
---
To: Sudeep Holla <sudeep.holla@kernel.org>
To: Michael Turquette <mturquette@baylibre.com>
To: Stephen Boyd <sboyd@kernel.org>
Cc: Cristian Marussi <cristian.marussi@arm.com>
Cc: Brian Masney <bmasney@redhat.com>
Cc: arm-scmi@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-clk@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
drivers/clk/clk-scpi.c | 14 +-------------
1 file changed, 1 insertion(+), 13 deletions(-)
diff --git a/drivers/clk/clk-scpi.c b/drivers/clk/clk-scpi.c
index 7806569cd0d5..650c85aa0328 100644
--- a/drivers/clk/clk-scpi.c
+++ b/drivers/clk/clk-scpi.c
@@ -32,18 +32,6 @@ static unsigned long scpi_clk_recalc_rate(struct clk_hw *hw,
return clk->scpi_ops->clk_get_val(clk->id);
}
-static int scpi_clk_determine_rate(struct clk_hw *hw,
- struct clk_rate_request *req)
-{
- /*
- * We can't figure out what rate it will be, so just return the
- * rate back to the caller. scpi_clk_recalc_rate() will be called
- * after the rate is set and we'll know what rate the clock is
- * running at then.
- */
- return 0;
-}
-
static int scpi_clk_set_rate(struct clk_hw *hw, unsigned long rate,
unsigned long parent_rate)
{
@@ -54,7 +42,7 @@ static int scpi_clk_set_rate(struct clk_hw *hw, unsigned long rate,
static const struct clk_ops scpi_clk_ops = {
.recalc_rate = scpi_clk_recalc_rate,
- .determine_rate = scpi_clk_determine_rate,
+ .determine_rate = clk_determine_rate_noop,
.set_rate = scpi_clk_set_rate,
};
--
2.54.0
^ permalink raw reply related [flat|nested] 21+ messages in thread* [PATCH v3 12/15] clk: sprd: use clk_determine_rate_noop()
2026-05-06 0:48 [PATCH v3 00/15] clk: introduce clk_determine_rate_noop() and update drivers to use it Brian Masney
` (10 preceding siblings ...)
2026-05-06 0:49 ` [PATCH v3 11/15] clk: scpi: " Brian Masney
@ 2026-05-06 0:49 ` Brian Masney
2026-05-06 0:49 ` [PATCH v3 13/15] phy: mediatek: phy-mtk-hdmi-mt2701: " Brian Masney
` (2 subsequent siblings)
14 siblings, 0 replies; 21+ messages in thread
From: Brian Masney @ 2026-05-06 0:49 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd, Brian Masney
Cc: linux-clk, linux-kernel, Orson Zhai, Baolin Wang, Chunyan Zhang
Drop the driver-specific empty determine_rate() function and use the new
shared clk_determine_rate_noop() helper.
Signed-off-by: Brian Masney <bmasney@redhat.com>
---
To: Michael Turquette <mturquette@baylibre.com>
To: Stephen Boyd <sboyd@kernel.org>
To: Orson Zhai <orsonzhai@gmail.com>
To: Baolin Wang <baolin.wang@linux.alibaba.com>
Cc: Brian Masney <bmasney@redhat.com>
Cc: Chunyan Zhang <zhang.lyra@gmail.com>
Cc: linux-clk@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
drivers/clk/sprd/pll.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/drivers/clk/sprd/pll.c b/drivers/clk/sprd/pll.c
index bc2db19aec0e..4aec30777d8a 100644
--- a/drivers/clk/sprd/pll.c
+++ b/drivers/clk/sprd/pll.c
@@ -254,16 +254,10 @@ static int sprd_pll_clk_prepare(struct clk_hw *hw)
return 0;
}
-static int sprd_pll_determine_rate(struct clk_hw *hw,
- struct clk_rate_request *req)
-{
- return 0;
-}
-
const struct clk_ops sprd_pll_ops = {
.prepare = sprd_pll_clk_prepare,
.recalc_rate = sprd_pll_recalc_rate,
- .determine_rate = sprd_pll_determine_rate,
+ .determine_rate = clk_determine_rate_noop,
.set_rate = sprd_pll_set_rate,
};
EXPORT_SYMBOL_GPL(sprd_pll_ops);
--
2.54.0
^ permalink raw reply related [flat|nested] 21+ messages in thread* [PATCH v3 13/15] phy: mediatek: phy-mtk-hdmi-mt2701: use clk_determine_rate_noop()
2026-05-06 0:48 [PATCH v3 00/15] clk: introduce clk_determine_rate_noop() and update drivers to use it Brian Masney
` (11 preceding siblings ...)
2026-05-06 0:49 ` [PATCH v3 12/15] clk: sprd: " Brian Masney
@ 2026-05-06 0:49 ` Brian Masney
2026-05-06 0:49 ` [PATCH v3 14/15] pmdomain: mediatek: airoha: " Brian Masney
2026-05-06 0:49 ` [PATCH v3 15/15] pmdomain: mediatek: mtk-mfg: " Brian Masney
14 siblings, 0 replies; 21+ messages in thread
From: Brian Masney @ 2026-05-06 0:49 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd, Brian Masney
Cc: linux-clk, linux-kernel, Chun-Kuang Hu, Philipp Zabel,
Chunfeng Yun, Vinod Koul, Matthias Brugger,
AngeloGioacchino Del Regno, Neil Armstrong, dri-devel,
linux-mediatek, linux-arm-kernel, linux-phy
Drop the driver-specific empty determine_rate() function and use the new
shared clk_determine_rate_noop() helper.
Signed-off-by: Brian Masney <bmasney@redhat.com>
---
To: Chun-Kuang Hu <chunkuang.hu@kernel.org>
To: Philipp Zabel <p.zabel@pengutronix.de>
To: Chunfeng Yun <chunfeng.yun@mediatek.com>
To: Vinod Koul <vkoul@kernel.org>
To: Matthias Brugger <matthias.bgg@gmail.com>
To: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
To: Michael Turquette <mturquette@baylibre.com>
To: Stephen Boyd <sboyd@kernel.org>
To: Brian Masney <bmasney@redhat.com>
Cc: linux-clk@vger.kernel.org
Cc: Neil Armstrong <neil.armstrong@linaro.org>
Cc: dri-devel@lists.freedesktop.org
Cc: linux-mediatek@lists.infradead.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-phy@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
---
drivers/phy/mediatek/phy-mtk-hdmi-mt2701.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/drivers/phy/mediatek/phy-mtk-hdmi-mt2701.c b/drivers/phy/mediatek/phy-mtk-hdmi-mt2701.c
index b0b6497e7eed..c9a1f20e939b 100644
--- a/drivers/phy/mediatek/phy-mtk-hdmi-mt2701.c
+++ b/drivers/phy/mediatek/phy-mtk-hdmi-mt2701.c
@@ -90,12 +90,6 @@ static void mtk_hdmi_pll_unprepare(struct clk_hw *hw)
usleep_range(80, 100);
}
-static int mtk_hdmi_pll_determine_rate(struct clk_hw *hw,
- struct clk_rate_request *req)
-{
- return 0;
-}
-
static int mtk_hdmi_pll_set_rate(struct clk_hw *hw, unsigned long rate,
unsigned long parent_rate)
{
@@ -170,7 +164,7 @@ static const struct clk_ops mtk_hdmi_phy_pll_ops = {
.prepare = mtk_hdmi_pll_prepare,
.unprepare = mtk_hdmi_pll_unprepare,
.set_rate = mtk_hdmi_pll_set_rate,
- .determine_rate = mtk_hdmi_pll_determine_rate,
+ .determine_rate = clk_determine_rate_noop,
.recalc_rate = mtk_hdmi_pll_recalc_rate,
};
--
2.54.0
^ permalink raw reply related [flat|nested] 21+ messages in thread* [PATCH v3 14/15] pmdomain: mediatek: airoha: use clk_determine_rate_noop()
2026-05-06 0:48 [PATCH v3 00/15] clk: introduce clk_determine_rate_noop() and update drivers to use it Brian Masney
` (12 preceding siblings ...)
2026-05-06 0:49 ` [PATCH v3 13/15] phy: mediatek: phy-mtk-hdmi-mt2701: " Brian Masney
@ 2026-05-06 0:49 ` Brian Masney
2026-05-06 0:49 ` [PATCH v3 15/15] pmdomain: mediatek: mtk-mfg: " Brian Masney
14 siblings, 0 replies; 21+ messages in thread
From: Brian Masney @ 2026-05-06 0:49 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd, Brian Masney
Cc: linux-clk, linux-kernel, Ulf Hansson, Matthias Brugger,
AngeloGioacchino Del Regno, linux-pm, linux-arm-kernel,
linux-mediatek
Drop the driver-specific empty determine_rate() function and use the new
shared clk_determine_rate_noop() helper.
Signed-off-by: Brian Masney <bmasney@redhat.com>
---
To: Ulf Hansson <ulfh@kernel.org>
To: Matthias Brugger <matthias.bgg@gmail.com>
To: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
To: Michael Turquette <mturquette@baylibre.com>
To: Stephen Boyd <sboyd@kernel.org>
To: Brian Masney <bmasney@redhat.com>
Cc: linux-clk@vger.kernel.org
Cc: linux-pm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-mediatek@lists.infradead.org
---
drivers/pmdomain/mediatek/airoha-cpu-pmdomain.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/drivers/pmdomain/mediatek/airoha-cpu-pmdomain.c b/drivers/pmdomain/mediatek/airoha-cpu-pmdomain.c
index 3b1d202f89dc..5efd7a38f4da 100644
--- a/drivers/pmdomain/mediatek/airoha-cpu-pmdomain.c
+++ b/drivers/pmdomain/mediatek/airoha-cpu-pmdomain.c
@@ -21,12 +21,6 @@ struct airoha_cpu_pmdomain_priv {
struct generic_pm_domain pd;
};
-static int airoha_cpu_pmdomain_clk_determine_rate(struct clk_hw *hw,
- struct clk_rate_request *req)
-{
- return 0;
-}
-
static unsigned long airoha_cpu_pmdomain_clk_get(struct clk_hw *hw,
unsigned long parent_rate)
{
@@ -48,7 +42,7 @@ static int airoha_cpu_pmdomain_clk_is_enabled(struct clk_hw *hw)
static const struct clk_ops airoha_cpu_pmdomain_clk_ops = {
.recalc_rate = airoha_cpu_pmdomain_clk_get,
.is_enabled = airoha_cpu_pmdomain_clk_is_enabled,
- .determine_rate = airoha_cpu_pmdomain_clk_determine_rate,
+ .determine_rate = clk_determine_rate_noop,
};
static int airoha_cpu_pmdomain_set_performance_state(struct generic_pm_domain *domain,
--
2.54.0
^ permalink raw reply related [flat|nested] 21+ messages in thread* [PATCH v3 15/15] pmdomain: mediatek: mtk-mfg: use clk_determine_rate_noop()
2026-05-06 0:48 [PATCH v3 00/15] clk: introduce clk_determine_rate_noop() and update drivers to use it Brian Masney
` (13 preceding siblings ...)
2026-05-06 0:49 ` [PATCH v3 14/15] pmdomain: mediatek: airoha: " Brian Masney
@ 2026-05-06 0:49 ` Brian Masney
14 siblings, 0 replies; 21+ messages in thread
From: Brian Masney @ 2026-05-06 0:49 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd, Brian Masney
Cc: linux-clk, linux-kernel, Ulf Hansson, Matthias Brugger,
AngeloGioacchino Del Regno, linux-pm, linux-arm-kernel,
linux-mediatek
Drop the driver-specific empty determine_rate() function and use the new
shared clk_determine_rate_noop() helper.
Signed-off-by: Brian Masney <bmasney@redhat.com>
---
To: Ulf Hansson <ulfh@kernel.org>
To: Matthias Brugger <matthias.bgg@gmail.com>
To: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
To: Michael Turquette <mturquette@baylibre.com>
To: Stephen Boyd <sboyd@kernel.org>
To: Brian Masney <bmasney@redhat.com>
Cc: linux-clk@vger.kernel.org
Cc: linux-pm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-mediatek@lists.infradead.org
---
drivers/pmdomain/mediatek/mtk-mfg-pmdomain.c | 23 ++---------------------
1 file changed, 2 insertions(+), 21 deletions(-)
diff --git a/drivers/pmdomain/mediatek/mtk-mfg-pmdomain.c b/drivers/pmdomain/mediatek/mtk-mfg-pmdomain.c
index 3ce6fb74dd53..64fef838776e 100644
--- a/drivers/pmdomain/mediatek/mtk-mfg-pmdomain.c
+++ b/drivers/pmdomain/mediatek/mtk-mfg-pmdomain.c
@@ -310,25 +310,6 @@ static unsigned long mtk_mfg_recalc_rate_gpu(struct clk_hw *hw,
return readl(mfg->shared_mem + GF_REG_FREQ_OUT_GPU) * HZ_PER_KHZ;
}
-static int mtk_mfg_determine_rate(struct clk_hw *hw,
- struct clk_rate_request *req)
-{
- /*
- * The determine_rate callback needs to be implemented to avoid returning
- * the current clock frequency, rather than something even remotely
- * close to the frequency that was asked for.
- *
- * Instead of writing considerable amounts of possibly slow code just to
- * somehow figure out which of the three PLLs to round for, or even to
- * do a search through one of two OPP tables in order to find the closest
- * OPP of a frequency, just return the rate as-is. This avoids devfreq
- * "rounding" a request for the lowest frequency to the possibly very
- * high current frequency, breaking the powersave governor in the process.
- */
-
- return 0;
-}
-
static unsigned long mtk_mfg_recalc_rate_stack(struct clk_hw *hw,
unsigned long parent_rate)
{
@@ -339,12 +320,12 @@ static unsigned long mtk_mfg_recalc_rate_stack(struct clk_hw *hw,
static const struct clk_ops mtk_mfg_clk_gpu_ops = {
.recalc_rate = mtk_mfg_recalc_rate_gpu,
- .determine_rate = mtk_mfg_determine_rate,
+ .determine_rate = clk_determine_rate_noop,
};
static const struct clk_ops mtk_mfg_clk_stack_ops = {
.recalc_rate = mtk_mfg_recalc_rate_stack,
- .determine_rate = mtk_mfg_determine_rate,
+ .determine_rate = clk_determine_rate_noop,
};
static const struct clk_init_data mtk_mfg_clk_gpu_init = {
--
2.54.0
^ permalink raw reply related [flat|nested] 21+ messages in thread