ASoC: stm: stm32_i2s: convert from round_rate() to determine_rate()

The round_rate() clk ops is deprecated, so migrate this driver from
round_rate() to determine_rate() using the Coccinelle semantic patch
on the cover letter of this series.

Signed-off-by: Brian Masney <bmasney@redhat.com>
Link: https://patch.msgid.link/20250710-sound-clk-round-rate-v1-5-4a9c3bb6ff3a@redhat.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Brian Masney 2025-07-10 11:51:11 -04:00 committed by Mark Brown
parent fc62ed665e
commit afd529d740
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0

View File

@ -461,20 +461,25 @@ static int stm32_i2s_set_parent_rate(struct stm32_i2s_data *i2s,
return -EINVAL;
}
static long stm32_i2smclk_round_rate(struct clk_hw *hw, unsigned long rate,
unsigned long *prate)
static int stm32_i2smclk_determine_rate(struct clk_hw *hw,
struct clk_rate_request *req)
{
struct stm32_i2smclk_data *mclk = to_mclk_data(hw);
struct stm32_i2s_data *i2s = mclk->i2s_data;
int ret;
ret = stm32_i2s_calc_clk_div(i2s, *prate, rate);
if (ret)
return ret;
ret = stm32_i2s_calc_clk_div(i2s, req->best_parent_rate, req->rate);
if (ret) {
req->rate = ret;
mclk->freq = *prate / i2s->divider;
return 0;
}
return mclk->freq;
mclk->freq = req->best_parent_rate / i2s->divider;
req->rate = mclk->freq;
return 0;
}
static unsigned long stm32_i2smclk_recalc_rate(struct clk_hw *hw,
@ -530,7 +535,7 @@ static const struct clk_ops mclk_ops = {
.enable = stm32_i2smclk_enable,
.disable = stm32_i2smclk_disable,
.recalc_rate = stm32_i2smclk_recalc_rate,
.round_rate = stm32_i2smclk_round_rate,
.determine_rate = stm32_i2smclk_determine_rate,
.set_rate = stm32_i2smclk_set_rate,
};