[PATCH 112/114] clk: scmi: remove round_rate() in favor of determine_rate()
Alexander Sverdlin
alexander.sverdlin at gmail.com
Mon Aug 11 08:38:43 PDT 2025
On Mon, 2025-08-11 at 11:19 -0400, Brian Masney via B4 Relay wrote:
> From: Brian Masney <bmasney at redhat.com>
>
> This driver implements both the determine_rate() and round_rate() clk
> ops, and the round_rate() clk ops is deprecated. When both are defined,
> clk_core_determine_round_nolock() from the clk core will only use the
> determine_rate() clk ops, so let's remove the round_rate() clk ops since
> it's unused.
>
> Signed-off-by: Brian Masney <bmasney at redhat.com>
Reviewed-by: Alexander Sverdlin <alexander.sverdlin at gmail.com>
> ---
> drivers/clk/clk-scmi.c | 30 ------------------------------
> 1 file changed, 30 deletions(-)
>
> diff --git a/drivers/clk/clk-scmi.c b/drivers/clk/clk-scmi.c
> index d2408403283fc72f0cf902e65f4c08bcbc7b4b0b..6c6ddb92e7cf6a0cfac2c7e19c0f15f777bb8c51 100644
> --- a/drivers/clk/clk-scmi.c
> +++ b/drivers/clk/clk-scmi.c
> @@ -54,35 +54,6 @@ static unsigned long scmi_clk_recalc_rate(struct clk_hw *hw,
> return rate;
> }
>
> -static long scmi_clk_round_rate(struct clk_hw *hw, unsigned long rate,
> - unsigned long *parent_rate)
> -{
> - u64 fmin, fmax, ftmp;
> - struct scmi_clk *clk = to_scmi_clk(hw);
> -
> - /*
> - * We can't figure out what rate it will be, so just return the
> - * rate back to the caller. scmi_clk_recalc_rate() will be called
> - * after the rate is set and we'll know what rate the clock is
> - * running at then.
> - */
> - if (clk->info->rate_discrete)
> - return rate;
> -
> - fmin = clk->info->range.min_rate;
> - fmax = clk->info->range.max_rate;
> - if (rate <= fmin)
> - return fmin;
> - else if (rate >= fmax)
> - return fmax;
> -
> - ftmp = rate - fmin;
> - ftmp += clk->info->range.step_size - 1; /* to round up */
> - do_div(ftmp, clk->info->range.step_size);
> -
> - return ftmp * clk->info->range.step_size + fmin;
> -}
> -
> static int scmi_clk_set_rate(struct clk_hw *hw, unsigned long rate,
> unsigned long parent_rate)
> {
> @@ -300,7 +271,6 @@ scmi_clk_ops_alloc(struct device *dev, unsigned long feats_key)
>
> /* Rate ops */
> ops->recalc_rate = scmi_clk_recalc_rate;
> - ops->round_rate = scmi_clk_round_rate;
> ops->determine_rate = scmi_clk_determine_rate;
> if (feats_key & BIT(SCMI_CLK_RATE_CTRL_SUPPORTED))
> ops->set_rate = scmi_clk_set_rate;
--
Alexander Sverdlin.
More information about the Linux-mediatek
mailing list