> > > diff --git a/drivers/clk/clk-k210.c b/drivers/clk/clk-k210.c > > > index 67a7cb3503c3..17c5bfb384ad 100644 > > > --- a/drivers/clk/clk-k210.c > > > +++ b/drivers/clk/clk-k210.c > > > @@ -495,7 +495,7 @@ static unsigned long k210_pll_get_rate(struct clk_hw *hw, > > > f = FIELD_GET(K210_PLL_CLKF, reg) + 1; > > > od = FIELD_GET(K210_PLL_CLKOD, reg) + 1; > > > - return (u64)parent_rate * f / (r * od); > > > + return div_u64(parent_rate * f, r * od); > > > > Nope, that's wrong. I omitted the cast... > > > > return div_u64((u64)parent_rate * f, r * od); > Ah that's a much better fix, shall I prepend this to the set and author you? Uh, I'd rather check that it is a functional fix first! I have the board, so I'll give it a go tomorrow and let you know. Thanks, Conor.