Re: [PATCH v4 05/11] clk: Introduce clk-tps68470 driver

From: Andy Shevchenko
Date: Mon Nov 01 2021 - 06:43:32 EST


On Mon, Nov 1, 2021 at 12:27 PM Hans de Goede <hdegoede@xxxxxxxxxx> wrote:
> On 10/25/21 13:24, Andy Shevchenko wrote:
> > On Mon, Oct 25, 2021 at 12:42 PM Hans de Goede <hdegoede@xxxxxxxxxx> wrote:

...

> >> + for (i = 0; i < ARRAY_SIZE(clk_freqs); i++) {
> >> + diff = clk_freqs[i].freq - rate;
> >> + if (diff == 0)
> >> + return i;
> >
> >> + diff = abs(diff);
> >
> > This needs a comment why higher (lower) frequency is okay.
>
> This function is called in 2 places:
>
> 1. From tps68470_clk_round_rate(), where higher/lower clearly is ok,
> (see the function name) so no comment needed.
>
> 2. From tps68470_clk_set_rate() where it is NOT ok and this is
> enforced in the caller:
>
> unsigned int idx = tps68470_clk_cfg_lookup(rate);
>
> if (rate != clk_freqs[idx].freq)
> return -EINVAL;
>
> This is not easy to describe in a comment, while being obvious
> if someone looking at this actually looks at the callers.

Hmm... but try your best. :-)

While at it, recently I have learned about util_macros.h. Any use of it here?
Or amending it there and re-using it here?

> >> + if (diff < best_diff) {
> >> + best_diff = diff;
> >> + best_idx = i;
> >> + }
> >> + }

--
With Best Regards,
Andy Shevchenko