kernel: move and replace accepted patch
[oweals/openwrt.git] / target / linux / ipq806x / patches-4.14 / 0052-PM-OPP-Update-the-voltage-tolerance-when-adjusting-t.patch
index 711e14c6cdd7b0dca2da25009e2d78b83d109c10..7cde22be0b83b8f3faacb92b20f313147cd805c3 100644 (file)
@@ -17,22 +17,22 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
 
 --- a/drivers/base/power/opp/core.c
 +++ b/drivers/base/power/opp/core.c
-@@ -1649,6 +1649,7 @@ int dev_pm_opp_adjust_voltage(struct dev
-       struct opp_table *opp_table;
-       struct dev_pm_opp *new_opp, *tmp_opp, *opp = ERR_PTR(-ENODEV);
-       int r = 0;
+@@ -1652,6 +1652,7 @@ int dev_pm_opp_adjust_voltage(struct dev
+       struct opp_table *opp_table;
+       struct dev_pm_opp *new_opp, *tmp_opp, *opp = ERR_PTR(-ENODEV);
+       int r = 0;
 +      unsigned long tol;
-
-       /* keep the node allocated */
-       new_opp = kmalloc(sizeof(*new_opp), GFP_KERNEL);
-@@ -1685,6 +1686,10 @@ int dev_pm_opp_adjust_voltage(struct dev
-
-       /* plug in new node */
-       new_opp->supplies[0].u_volt = u_volt;
+       /* keep the node allocated */
+       new_opp = kmalloc(sizeof(*new_opp), GFP_KERNEL);
+@@ -1688,6 +1689,10 @@ int dev_pm_opp_adjust_voltage(struct dev
+       /* plug in new node */
+       new_opp->supplies[0].u_volt = u_volt;
 +      tol = u_volt * opp_table->voltage_tolerance_v1 / 100;
 +      new_opp->supplies[0].u_volt = u_volt;
 +      new_opp->supplies[0].u_volt_min = u_volt - tol;
 +      new_opp->supplies[0].u_volt_max = u_volt + tol;
-
-       list_replace(&opp->node, &new_opp->node);
-       mutex_unlock(&opp_table_lock);
+       list_replace(&opp->node, &new_opp->node);
+       mutex_unlock(&opp_table_lock);