[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aKdmSJtTrs6n7ZXI@x1>
Date: Thu, 21 Aug 2025 14:32:40 -0400
From: Brian Masney <bmasney@...hat.com>
To: dongxuyang@...incomputing.com
Cc: mturquette@...libre.com, sboyd@...nel.org, robh@...nel.org,
krzk+dt@...nel.org, conor+dt@...nel.org, linux-clk@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
paul.walmsley@...ive.com, palmer@...belt.com, aou@...s.berkeley.edu,
alex@...ti.fr, linux-riscv@...ts.infradead.org,
ningyu@...incomputing.com, linmin@...incomputing.com,
huangyifeng@...incomputing.com, pinkesh.vaghela@...fochips.com
Subject: Re: [PATCH v4 2/3] clock: eswin: Add eic7700 clock driver
Hi,
On Fri, Aug 15, 2025 at 05:37:20PM +0800, dongxuyang@...incomputing.com wrote:
> +static long clk_pll_round_rate(struct clk_hw *hw, unsigned long rate,
> + unsigned long *parent_rate)
> +{
> + struct eswin_clk_pll *clk = to_pll_clk(hw);
> + const char *clk_name = clk_hw_get_name(&clk->hw);
> +
> + if (!clk_name)
> + return -ENOMEM;
> +
> + int index;
> + u64 round_rate = 0;
> +
> + /* Must be sorted in ascending order */
> + u64 apll_clk[] = { APLL_LOW_FREQ, APLL_HIGH_FREQ };
> + u64 cpu_pll_clk[] = { CLK_FREQ_100M, CLK_FREQ_200M, CLK_FREQ_400M,
> + CLK_FREQ_500M, CLK_FREQ_600M, CLK_FREQ_700M,
> + CLK_FREQ_800M, CLK_FREQ_900M, CLK_FREQ_1000M,
> + CLK_FREQ_1200M, CLK_FREQ_1300M, CLK_FREQ_1400M,
> + CLK_FREQ_1500M, CLK_FREQ_1600M, CLK_FREQ_1700M,
> + CLK_FREQ_1800M };
> +
> + switch (str_to_pll_clk(clk_name)) {
> + case CLK_APLL_FOUT1:
> + index = find_closest(rate, apll_clk, ARRAY_SIZE(apll_clk));
> + round_rate = apll_clk[index];
> + break;
> + case CLK_PLL_CPU:
> + index = find_closest(rate, cpu_pll_clk,
> + ARRAY_SIZE(cpu_pll_clk));
> + round_rate = cpu_pll_clk[index];
> + break;
> + default:
> + pr_err("%s %d, unknown clk %s\n", __func__, __LINE__,
> + clk_name);
> + break;
> + }
> + return round_rate;
> +}
> +
> +static const struct clk_ops eswin_clk_pll_ops = {
> + .set_rate = clk_pll_set_rate,
> + .recalc_rate = clk_pll_recalc_rate,
> + .round_rate = clk_pll_round_rate,
> +};
The round_rate clk op is deprecated. Please convert this over to use
determine_rate.
Brian
Powered by blists - more mailing lists