aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base/power/opp/core.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/base/power/opp/core.c')
-rw-r--r--drivers/base/power/opp/core.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/base/power/opp/core.c b/drivers/base/power/opp/core.c
index df0c70963d9e..4c7c6da7a989 100644
--- a/drivers/base/power/opp/core.c
+++ b/drivers/base/power/opp/core.c
@@ -584,7 +584,6 @@ int dev_pm_opp_set_rate(struct device *dev, unsigned long target_freq)
584 struct clk *clk; 584 struct clk *clk;
585 unsigned long freq, old_freq; 585 unsigned long freq, old_freq;
586 unsigned long u_volt, u_volt_min, u_volt_max; 586 unsigned long u_volt, u_volt_min, u_volt_max;
587 unsigned long ou_volt, ou_volt_min, ou_volt_max;
588 int ret; 587 int ret;
589 588
590 if (unlikely(!target_freq)) { 589 if (unlikely(!target_freq)) {
@@ -620,11 +619,7 @@ int dev_pm_opp_set_rate(struct device *dev, unsigned long target_freq)
620 } 619 }
621 620
622 old_opp = _find_freq_ceil(opp_table, &old_freq); 621 old_opp = _find_freq_ceil(opp_table, &old_freq);
623 if (!IS_ERR(old_opp)) { 622 if (IS_ERR(old_opp)) {
624 ou_volt = old_opp->u_volt;
625 ou_volt_min = old_opp->u_volt_min;
626 ou_volt_max = old_opp->u_volt_max;
627 } else {
628 dev_err(dev, "%s: failed to find current OPP for freq %lu (%ld)\n", 623 dev_err(dev, "%s: failed to find current OPP for freq %lu (%ld)\n",
629 __func__, old_freq, PTR_ERR(old_opp)); 624 __func__, old_freq, PTR_ERR(old_opp));
630 } 625 }
@@ -683,7 +678,8 @@ restore_freq:
683restore_voltage: 678restore_voltage:
684 /* This shouldn't harm even if the voltages weren't updated earlier */ 679 /* This shouldn't harm even if the voltages weren't updated earlier */
685 if (!IS_ERR(old_opp)) 680 if (!IS_ERR(old_opp))
686 _set_opp_voltage(dev, reg, ou_volt, ou_volt_min, ou_volt_max); 681 _set_opp_voltage(dev, reg, old_opp->u_volt,
682 old_opp->u_volt_min, old_opp->u_volt_max);
687 683
688 return ret; 684 return ret;
689} 685}