On 05/20/14 09:01, Sören Brinkmann wrote: > >>>>> +{ >>>>> + unsigned long lower, upper, cur, lower_last, upper_last; >>>>> + >>>>> + lower = clk_round_rate(clk, rate); >>>>> + if (lower >= rate) >>>>> + return lower; >>>> Is the >-case worth a warning? >>> No, it's correct behavior. If you request a rate that is way lower than what the >>> clock can generate, returning something larger is perfectly valid, IMHO. >>> Which reveals one problem in this whole discussion. The API does not >>> require clk_round_rate() to round down. It is actually an implementation >>> choice that had been made for clk-divider. >> I'm sure it's more than an implementation choice for clk-divider. But I >> don't find any respective documentation (but I didn't try hard). > A similar discussion - without final conclusion: > https://lkml.org/lkml/2010/7/14/260 > > Please call this new API something like clk_find_nearest_rate() or something. clk_round_rate() is supposed to return the rate that will be set if you call clk_set_rate() with the same arguments. It's up to the implementation to decide if that means rounding the rate up or down or to the nearest value. -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe cpufreq" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html