Skip to content

Commit 581f772

Browse files
xdarklightjbrun3t
authored andcommitted
clk: meson: dualdiv: switch from .round_rate to .determine_rate
clk_ops.round_rate will be removed at some point. It's replacement is .determine_rate. Switch clk-dualdiv over to use .determine_rate. Signed-off-by: Martin Blumenstingl <[email protected]> Acked-by: Stephen Boyd <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jerome Brunet <[email protected]>
1 parent 1fd62f2 commit 581f772

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

drivers/clk/meson/clk-dualdiv.c

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -86,18 +86,23 @@ __dualdiv_get_setting(unsigned long rate, unsigned long parent_rate,
8686
return (struct meson_clk_dualdiv_param *)&table[best_i];
8787
}
8888

89-
static long meson_clk_dualdiv_round_rate(struct clk_hw *hw, unsigned long rate,
90-
unsigned long *parent_rate)
89+
static int meson_clk_dualdiv_determine_rate(struct clk_hw *hw,
90+
struct clk_rate_request *req)
9191
{
9292
struct clk_regmap *clk = to_clk_regmap(hw);
9393
struct meson_clk_dualdiv_data *dualdiv = meson_clk_dualdiv_data(clk);
94-
const struct meson_clk_dualdiv_param *setting =
95-
__dualdiv_get_setting(rate, *parent_rate, dualdiv);
94+
const struct meson_clk_dualdiv_param *setting;
9695

97-
if (!setting)
98-
return meson_clk_dualdiv_recalc_rate(hw, *parent_rate);
96+
setting = __dualdiv_get_setting(req->rate, req->best_parent_rate,
97+
dualdiv);
98+
if (setting)
99+
req->rate = __dualdiv_param_to_rate(req->best_parent_rate,
100+
setting);
101+
else
102+
req->rate = meson_clk_dualdiv_recalc_rate(hw,
103+
req->best_parent_rate);
99104

100-
return __dualdiv_param_to_rate(*parent_rate, setting);
105+
return 0;
101106
}
102107

103108
static int meson_clk_dualdiv_set_rate(struct clk_hw *hw, unsigned long rate,
@@ -122,7 +127,7 @@ static int meson_clk_dualdiv_set_rate(struct clk_hw *hw, unsigned long rate,
122127

123128
const struct clk_ops meson_clk_dualdiv_ops = {
124129
.recalc_rate = meson_clk_dualdiv_recalc_rate,
125-
.round_rate = meson_clk_dualdiv_round_rate,
130+
.determine_rate = meson_clk_dualdiv_determine_rate,
126131
.set_rate = meson_clk_dualdiv_set_rate,
127132
};
128133
EXPORT_SYMBOL_GPL(meson_clk_dualdiv_ops);

0 commit comments

Comments
 (0)