This patch updates dev_pm_opp_find_freq_*() routines to get a reference
to the OPPs returned by them.
Also updates the users of dev_pm_opp_find_freq_*() routines to call
dev_pm_opp_put() after they are done using the OPPs.
As it is guaranteed the that OPPs wouldn't get freed while being used,
the RCU read side locking present with the users isn't required anymore.
Drop it as well.
This patch also updates all users of devfreq_recommended_opp() which was
returning an OPP received from the OPP core.
Note that some of the OPP core routines have gained
rcu_read_{lock|unlock}() calls, as those still use RCU specific APIs
within them.
Signed-off-by: Viresh Kumar viresh.kumar@linaro.org
Reviewed-by: Chanwoo Choi cw00.choi@samsung.com [Devfreq]
This patch gets a lot of fails during application.
For devfreq-side, I've got:
error: drivers/devfreq/devfreq.c: patch does not apply
error: patch failed: drivers/devfreq/exynos-bus.c:103
error: drivers/devfreq/exynos-bus.c: patch does not apply
error: patch failed: drivers/devfreq/governor_passive.c:59
error: drivers/devfreq/governor_passive.c: patch does not apply
error: patch failed: drivers/devfreq/rk3399_dmc.c:91
error: drivers/devfreq/rk3399_dmc.c: patch does not apply
error: patch failed: drivers/devfreq/tegra-devfreq.c:487
error: drivers/devfreq/tegra-devfreq.c: patch does not apply
With the condition that you are going to properly rebase the patch,
you may add "Reviewed-by" from me.
(the code itself looks fine.)
Cheers,
MyungJoo
arch/arm/mach-omap2/pm.c | 5 +-
drivers/base/power/opp/core.c | 114 +++++++++++++++++++----------------
drivers/base/power/opp/cpu.c | 22 ++-----
drivers/clk/tegra/clk-dfll.c | 17 ++----
drivers/cpufreq/exynos5440-cpufreq.c | 5 +-
drivers/cpufreq/imx6q-cpufreq.c | 10 +--
drivers/cpufreq/mt8173-cpufreq.c | 8 +--
drivers/cpufreq/omap-cpufreq.c | 4 +-
drivers/devfreq/devfreq.c | 14 ++---
drivers/devfreq/exynos-bus.c | 14 ++---
drivers/devfreq/governor_passive.c | 4 +-
drivers/devfreq/rk3399_dmc.c | 16 ++---
drivers/devfreq/tegra-devfreq.c | 4 +-
drivers/thermal/cpu_cooling.c | 11 +---
drivers/thermal/devfreq_cooling.c | 15 ++---
15 files changed, 110 insertions(+), 153 deletions(-)