Loading drivers/clk/clk-divider.c +3 −0 Original line number Diff line number Diff line Loading @@ -257,6 +257,9 @@ static bool _is_best_div(unsigned long rate, unsigned long now, { if (flags & CLK_DIVIDER_ROUND_CLOSEST) return abs(rate - now) < abs(rate - best); else if (flags & CLK_DIVIDER_ROUND_KHZ) return (DIV_ROUND_CLOSEST(abs(rate - now), 1000) < DIV_ROUND_CLOSEST(abs(rate - best), 1000)); return now <= rate && now > best; } Loading include/linux/clk-provider.h +1 −0 Original line number Diff line number Diff line Loading @@ -495,6 +495,7 @@ struct clk_divider { #define CLK_DIVIDER_ROUND_CLOSEST BIT(4) #define CLK_DIVIDER_READ_ONLY BIT(5) #define CLK_DIVIDER_MAX_AT_ZERO BIT(6) #define CLK_DIVIDER_ROUND_KHZ BIT(7) extern const struct clk_ops clk_divider_ops; extern const struct clk_ops clk_divider_ro_ops; Loading Loading
drivers/clk/clk-divider.c +3 −0 Original line number Diff line number Diff line Loading @@ -257,6 +257,9 @@ static bool _is_best_div(unsigned long rate, unsigned long now, { if (flags & CLK_DIVIDER_ROUND_CLOSEST) return abs(rate - now) < abs(rate - best); else if (flags & CLK_DIVIDER_ROUND_KHZ) return (DIV_ROUND_CLOSEST(abs(rate - now), 1000) < DIV_ROUND_CLOSEST(abs(rate - best), 1000)); return now <= rate && now > best; } Loading
include/linux/clk-provider.h +1 −0 Original line number Diff line number Diff line Loading @@ -495,6 +495,7 @@ struct clk_divider { #define CLK_DIVIDER_ROUND_CLOSEST BIT(4) #define CLK_DIVIDER_READ_ONLY BIT(5) #define CLK_DIVIDER_MAX_AT_ZERO BIT(6) #define CLK_DIVIDER_ROUND_KHZ BIT(7) extern const struct clk_ops clk_divider_ops; extern const struct clk_ops clk_divider_ro_ops; Loading