From: Russell King <rmk+ker...@arm.linux.org.uk> The idea is that rate = clk_round_rate(clk, r) is equivalent to:
clk_set_rate(clk, r); rate = clk_get_rate(clk); except that clk_round_rate() does not change the hardware in any way. Signed-off-by: Russell King <rmk+ker...@arm.linux.org.uk> (cherry picked from commit d2d14a77886485310ec66e575f00ea5232ac7a14) Signed-off-by: Yong, Jonathan <jonathan.y...@intel.com> --- include/linux/clk.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/include/linux/clk.h b/include/linux/clk.h index 68c16a6..cafb22d 100644 --- a/include/linux/clk.h +++ b/include/linux/clk.h @@ -306,6 +306,20 @@ void devm_clk_put(struct device *dev, struct clk *clk); * @clk: clock source * @rate: desired clock rate in Hz * + * This answers the question "if I were to pass @rate to clk_set_rate(), + * what clock rate would I end up with?" without changing the hardware + * in any way. In other words: + * + * rate = clk_round_rate(clk, r); + * + * and: + * + * clk_set_rate(clk, r); + * rate = clk_get_rate(clk); + * + * are equivalent except the former does not modify the clock hardware + * in any way. + * * Returns rounded clock rate in Hz, or negative errno. */ long clk_round_rate(struct clk *clk, unsigned long rate); -- 2.4.10 -- _______________________________________________ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto