kernel: update 4.1 to 4.1.4
[lede.git] / target / linux / ipq806x / patches-4.1 / 136-clk-Add-safe-switch-hook.patch
index 0cf4eb331ed14f647442d476d9a65dbc6d0d18c3..b0d89a9681d1d9788c2819b059614e7fe32bdcda 100644 (file)
@@ -47,7 +47,7 @@ handles that problem on Krait, but on other platforms it won't work.
        struct clk_core         *new_parent;
        struct clk_core         *new_child;
        unsigned long           flags;
-@@ -1595,7 +1598,8 @@ out:
+@@ -1596,7 +1599,8 @@ out:
  static void clk_calc_subtree(struct clk_core *clk, unsigned long new_rate,
                             struct clk_core *new_parent, u8 p_index)
  {
@@ -57,7 +57,7 @@ handles that problem on Krait, but on other platforms it won't work.
  
        clk->new_rate = new_rate;
        clk->new_parent = new_parent;
-@@ -1605,6 +1609,18 @@ static void clk_calc_subtree(struct clk_
+@@ -1606,6 +1610,18 @@ static void clk_calc_subtree(struct clk_
        if (new_parent && new_parent != clk->parent)
                new_parent->new_child = clk;
  
@@ -76,7 +76,7 @@ handles that problem on Krait, but on other platforms it won't work.
        hlist_for_each_entry(child, &clk->children, child_node) {
                child->new_rate = clk_recalc(child, new_rate);
                clk_calc_subtree(child, child->new_rate, NULL, 0);
-@@ -1709,14 +1725,43 @@ static struct clk_core *clk_propagate_ra
+@@ -1710,14 +1726,43 @@ static struct clk_core *clk_propagate_ra
                                                  unsigned long event)
  {
        struct clk_core *child, *tmp_clk, *fail_clk = NULL;
@@ -123,7 +123,7 @@ handles that problem on Krait, but on other platforms it won't work.
                        fail_clk = clk;
        }
  
-@@ -1762,7 +1807,8 @@ clk_change_rate(struct clk_core *clk, un
+@@ -1763,7 +1808,8 @@ clk_change_rate(struct clk_core *clk, un
  
        old_rate = clk->rate;
  
@@ -133,7 +133,7 @@ handles that problem on Krait, but on other platforms it won't work.
                old_parent = __clk_set_parent_before(clk, clk->new_parent);
                trace_clk_set_parent(clk, clk->new_parent);
  
-@@ -1788,9 +1834,6 @@ clk_change_rate(struct clk_core *clk, un
+@@ -1789,9 +1835,6 @@ clk_change_rate(struct clk_core *clk, un
  
        clk->rate = clk->new_rate;
  
@@ -143,7 +143,7 @@ handles that problem on Krait, but on other platforms it won't work.
        /*
         * Use safe iteration, as change_rate can actually swap parents
         * for certain clock types.
-@@ -1850,6 +1893,8 @@ static int clk_core_set_rate_nolock(stru
+@@ -1851,6 +1894,8 @@ static int clk_core_set_rate_nolock(stru
  
        clk->req_rate = req_rate;