mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 17:30:02 +00:00
clk: sunxi-ng: mux: honor CLK_SET_RATE_NO_REPARENT flag
This patch adds support for the CLK_SET_RATE_NO_REPARENT flag to the mux determine_rate helper, based on examples from clk-composite and clk-mux. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
This commit is contained in:
parent
ed48205fb4
commit
216abdcc3a
1 changed files with 15 additions and 0 deletions
|
@ -70,6 +70,21 @@ int ccu_mux_helper_determine_rate(struct ccu_common *common,
|
|||
struct clk_hw *best_parent, *hw = &common->hw;
|
||||
unsigned int i;
|
||||
|
||||
if (clk_hw_get_flags(hw) & CLK_SET_RATE_NO_REPARENT) {
|
||||
unsigned long adj_parent_rate;
|
||||
|
||||
best_parent = clk_hw_get_parent(hw);
|
||||
best_parent_rate = clk_hw_get_rate(best_parent);
|
||||
|
||||
adj_parent_rate = best_parent_rate;
|
||||
ccu_mux_helper_adjust_parent_for_prediv(common, cm, -1,
|
||||
&adj_parent_rate);
|
||||
|
||||
best_rate = round(cm, adj_parent_rate, req->rate, data);
|
||||
|
||||
goto out;
|
||||
}
|
||||
|
||||
for (i = 0; i < clk_hw_get_num_parents(hw); i++) {
|
||||
unsigned long tmp_rate, parent_rate, adj_parent_rate;
|
||||
struct clk_hw *parent;
|
||||
|
|
Loading…
Reference in a new issue