Merge branch 'for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata
[sfrench/cifs-2.6.git] / drivers / devfreq / rk3399_dmc.c
index 27d2f349b53c9ae7d8cd4db31681576e0dac8354..40a2499730fcb4cc635dfb9a0de2b9d50ea47869 100644 (file)
@@ -91,17 +91,13 @@ static int rk3399_dmcfreq_target(struct device *dev, unsigned long *freq,
        unsigned long target_volt, target_rate;
        int err;
 
-       rcu_read_lock();
        opp = devfreq_recommended_opp(dev, freq, flags);
-       if (IS_ERR(opp)) {
-               rcu_read_unlock();
+       if (IS_ERR(opp))
                return PTR_ERR(opp);
-       }
 
        target_rate = dev_pm_opp_get_freq(opp);
        target_volt = dev_pm_opp_get_voltage(opp);
-
-       rcu_read_unlock();
+       dev_pm_opp_put(opp);
 
        if (dmcfreq->rate == target_rate)
                return 0;
@@ -422,15 +418,13 @@ static int rk3399_dmcfreq_probe(struct platform_device *pdev)
 
        data->rate = clk_get_rate(data->dmc_clk);
 
-       rcu_read_lock();
        opp = devfreq_recommended_opp(dev, &data->rate, 0);
-       if (IS_ERR(opp)) {
-               rcu_read_unlock();
+       if (IS_ERR(opp))
                return PTR_ERR(opp);
-       }
+
        data->rate = dev_pm_opp_get_freq(opp);
        data->volt = dev_pm_opp_get_voltage(opp);
-       rcu_read_unlock();
+       dev_pm_opp_put(opp);
 
        rk3399_devfreq_dmc_profile.initial_freq = data->rate;