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