Commit 35d6aae8 authored by Brian Masney's avatar Brian Masney Committed by Alexandre Belloni
Browse files

rtc: rv3032: 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: default avatarBrian Masney <bmasney@redhat.com>
Link: https://lore.kernel.org/r/20250710-rtc-clk-round-rate-v1-15-33140bb2278e@redhat.com


Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
parent c4253b09
Loading
Loading
Loading
Loading
+13 −8
Original line number Diff line number Diff line
@@ -646,19 +646,24 @@ static unsigned long rv3032_clkout_recalc_rate(struct clk_hw *hw,
	return clkout_xtal_rates[FIELD_GET(RV3032_CLKOUT2_FD_MSK, clkout)];
}

static long rv3032_clkout_round_rate(struct clk_hw *hw, unsigned long rate,
				     unsigned long *prate)
static int rv3032_clkout_determine_rate(struct clk_hw *hw,
					struct clk_rate_request *req)
{
	int i, hfd;

	if (rate < RV3032_HFD_STEP)
	if (req->rate < RV3032_HFD_STEP)
		for (i = 0; i < ARRAY_SIZE(clkout_xtal_rates); i++)
			if (clkout_xtal_rates[i] <= rate)
				return clkout_xtal_rates[i];
			if (clkout_xtal_rates[i] <= req->rate) {
				req->rate = clkout_xtal_rates[i];

	hfd = DIV_ROUND_CLOSEST(rate, RV3032_HFD_STEP);
				return 0;
			}

	return RV3032_HFD_STEP * clamp(hfd, 0, 8192);
	hfd = DIV_ROUND_CLOSEST(req->rate, RV3032_HFD_STEP);

	req->rate = RV3032_HFD_STEP * clamp(hfd, 0, 8192);

	return 0;
}

static int rv3032_clkout_set_rate(struct clk_hw *hw, unsigned long rate,
@@ -738,7 +743,7 @@ static const struct clk_ops rv3032_clkout_ops = {
	.unprepare = rv3032_clkout_unprepare,
	.is_prepared = rv3032_clkout_is_prepared,
	.recalc_rate = rv3032_clkout_recalc_rate,
	.round_rate = rv3032_clkout_round_rate,
	.determine_rate = rv3032_clkout_determine_rate,
	.set_rate = rv3032_clkout_set_rate,
};