Hi Ricardo, On Fri, Apr 19, 2024 at 09:48:07AM +0000, Ricardo Ribalda wrote: > link_freq does not fit in 32 bits. > > Found by cocci: > drivers/media/i2c/st-mipid02.c:329:1-7: WARNING: do_div() does a 64-by-32 division, please consider using div64_s64 instead. > > Reviewed-by: Benjamin Mugnier <benjamin.mugnier@xxxxxxxxxxx> > Signed-off-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx> > --- > drivers/media/i2c/st-mipid02.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/media/i2c/st-mipid02.c b/drivers/media/i2c/st-mipid02.c > index f250640729ca..93a40bfda1af 100644 > --- a/drivers/media/i2c/st-mipid02.c > +++ b/drivers/media/i2c/st-mipid02.c > @@ -326,7 +326,7 @@ static int mipid02_configure_from_rx_speed(struct mipid02_dev *bridge, > } > > dev_dbg(&client->dev, "detect link_freq = %lld Hz", link_freq); > - do_div(ui_4, link_freq); > + ui_4 = div64_s64(ui_4, link_freq); These are positive numbers and ui_4 is unsigned. I'd use div64_u64() instead. With that, Reviewed-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> > bridge->r.clk_lane_reg1 |= ui_4 << 2; > > return 0; > -- Regards, Sakari Ailus