RE: [PATCH 5/5] i2c: riic: avoid potential division by zero

From: Biju Das
Date: Thu Sep 07 2023 - 11:26:32 EST


Hi Wolfram Sang,

> Subject: [PATCH 5/5] i2c: riic: avoid potential division by zero
>
> Value comes from DT, so it could be 0. Unlikely, but could be.
>
> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
> ---
> drivers/i2c/busses/i2c-riic.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/i2c/busses/i2c-riic.c b/drivers/i2c/busses/i2c-riic.c
> index f0ee8871d5ae..e43ff483c56e 100644
> --- a/drivers/i2c/busses/i2c-riic.c
> +++ b/drivers/i2c/busses/i2c-riic.c
> @@ -313,7 +313,7 @@ static int riic_init_hw(struct riic_dev *riic, struct
> i2c_timings *t)
> * frequency with only 62 clock ticks max (31 high, 31 low).
> * Aim for a duty of 60% LOW, 40% HIGH.
> */
> - total_ticks = DIV_ROUND_UP(rate, t->bus_freq_hz);
> + total_ticks = DIV_ROUND_UP(rate, t->bus_freq_hz ?: 1);

Not sure clamping function min_t/min(t->bus_freq_hz, 1)
Or ternary condition is good in this case for avoiding potential division by 0?

Cheers,
Biju

>
> for (cks = 0; cks < 7; cks++) {
> /*
> --
> 2.35.1