* [PATCH RESEND] i2c: busses: bcm2835: convert from round_rate() to determine_rate()
@ 2025-10-16 16:08 Brian Masney
2025-10-17 21:09 ` Andi Shyti
0 siblings, 1 reply; 2+ messages in thread
From: Brian Masney @ 2025-10-16 16:08 UTC (permalink / raw)
To: Andi Shyti, Florian Fainelli, Ray Jui, Maxime Ripard,
Stephen Boyd, Scott Branden, Broadcom internal kernel review list
Cc: linux-i2c, linux-rpi-kernel, linux-arm-kernel, linux-kernel,
linux-clk, Brian Masney
The round_rate() clk ops is deprecated, so migrate this driver from
round_rate() to determine_rate().
Signed-off-by: Brian Masney <bmasney@redhat.com>
---
My original posting received no feedback.
https://lore.kernel.org/linux-clk/20250810-i2c-round-rate-v1-1-9488b57153e7@redhat.com/T/
I'm hoping to get this merged so that we can remove the round_rate() clk
op from the clk core. The clk maintainer (Stephen) mentioned this work
in his last pull to Linus.
https://lore.kernel.org/linux-clk/20251007051720.11386-1-sboyd@kernel.org/
---
drivers/i2c/busses/i2c-bcm2835.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c
index 8554e790f8e36c5a1cf56c0aab8556b377f2bbdf..0d7e2654a534e92a529f27fdc049812359678522 100644
--- a/drivers/i2c/busses/i2c-bcm2835.c
+++ b/drivers/i2c/busses/i2c-bcm2835.c
@@ -137,12 +137,14 @@ static int clk_bcm2835_i2c_set_rate(struct clk_hw *hw, unsigned long rate,
return 0;
}
-static long clk_bcm2835_i2c_round_rate(struct clk_hw *hw, unsigned long rate,
- unsigned long *parent_rate)
+static int clk_bcm2835_i2c_determine_rate(struct clk_hw *hw,
+ struct clk_rate_request *req)
{
- u32 divider = clk_bcm2835_i2c_calc_divider(rate, *parent_rate);
+ u32 divider = clk_bcm2835_i2c_calc_divider(req->rate, req->best_parent_rate);
- return DIV_ROUND_UP(*parent_rate, divider);
+ req->rate = DIV_ROUND_UP(req->best_parent_rate, divider);
+
+ return 0;
}
static unsigned long clk_bcm2835_i2c_recalc_rate(struct clk_hw *hw,
@@ -156,7 +158,7 @@ static unsigned long clk_bcm2835_i2c_recalc_rate(struct clk_hw *hw,
static const struct clk_ops clk_bcm2835_i2c_ops = {
.set_rate = clk_bcm2835_i2c_set_rate,
- .round_rate = clk_bcm2835_i2c_round_rate,
+ .determine_rate = clk_bcm2835_i2c_determine_rate,
.recalc_rate = clk_bcm2835_i2c_recalc_rate,
};
---
base-commit: 2433b84761658ef123ae683508bc461b07c5b0f0
change-id: 20251016-i2c-round-rate-resend-0ae27d7f7529
Best regards,
--
Brian Masney <bmasney@redhat.com>
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH RESEND] i2c: busses: bcm2835: convert from round_rate() to determine_rate()
2025-10-16 16:08 [PATCH RESEND] i2c: busses: bcm2835: convert from round_rate() to determine_rate() Brian Masney
@ 2025-10-17 21:09 ` Andi Shyti
0 siblings, 0 replies; 2+ messages in thread
From: Andi Shyti @ 2025-10-17 21:09 UTC (permalink / raw)
To: Brian Masney
Cc: Florian Fainelli, Ray Jui, Maxime Ripard, Stephen Boyd,
Scott Branden, Broadcom internal kernel review list, linux-i2c,
linux-rpi-kernel, linux-arm-kernel, linux-kernel, linux-clk
Hi,
On Thu, Oct 16, 2025 at 12:08:12PM -0400, Brian Masney wrote:
> The round_rate() clk ops is deprecated, so migrate this driver from
> round_rate() to determine_rate().
>
> Signed-off-by: Brian Masney <bmasney@redhat.com>
I'm sorry for the late response on this. Merged into
i2c/i2c-host.
Thanks,
Andi
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-10-17 21:09 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-16 16:08 [PATCH RESEND] i2c: busses: bcm2835: convert from round_rate() to determine_rate() Brian Masney
2025-10-17 21:09 ` Andi Shyti
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).