Merge tag 'at91-fixes-6.1-2' of https://git.kernel.org/pub/scm/linux/kernel/git/at91...
[platform/kernel/linux-starfive.git] / drivers / clk / clk-composite.c
index b9c5f90..edfa946 100644 (file)
@@ -85,10 +85,11 @@ static int clk_composite_determine_rate(struct clk_hw *hw,
                req->best_parent_hw = NULL;
 
                if (clk_hw_get_flags(hw) & CLK_SET_RATE_NO_REPARENT) {
-                       struct clk_rate_request tmp_req = *req;
+                       struct clk_rate_request tmp_req;
 
                        parent = clk_hw_get_parent(mux_hw);
 
+                       clk_hw_forward_rate_request(hw, req, parent, &tmp_req, req->rate);
                        ret = clk_composite_determine_rate_for_parent(rate_hw,
                                                                      &tmp_req,
                                                                      parent,
@@ -104,12 +105,13 @@ static int clk_composite_determine_rate(struct clk_hw *hw,
                }
 
                for (i = 0; i < clk_hw_get_num_parents(mux_hw); i++) {
-                       struct clk_rate_request tmp_req = *req;
+                       struct clk_rate_request tmp_req;
 
                        parent = clk_hw_get_parent_by_index(mux_hw, i);
                        if (!parent)
                                continue;
 
+                       clk_hw_forward_rate_request(hw, req, parent, &tmp_req, req->rate);
                        ret = clk_composite_determine_rate_for_parent(rate_hw,
                                                                      &tmp_req,
                                                                      parent,