diff options
author | Viresh Kumar <viresh.kumar@linaro.org> | 2018-09-12 02:55:22 -0400 |
---|---|---|
committer | Viresh Kumar <viresh.kumar@linaro.org> | 2018-09-19 17:56:44 -0400 |
commit | 883071c4bd9a6e45bf0b5e45575d110eaeb2e6d0 (patch) | |
tree | 6fe1452b4d87aedd2e0d9a3779230ac228818767 | |
parent | d0e8ae6c26da7b9436775dfd9768d7a821ed47b7 (diff) |
cpufreq: mvebu: Remove OPPs using dev_pm_opp_remove()
dev_pm_opp_cpumask_remove_table() is going to change in the next commit
and will not remove dynamic OPPs automatically. They must be removed
with a call to dev_pm_opp_remove().
Reviewed-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
-rw-r--r-- | drivers/cpufreq/mvebu-cpufreq.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/cpufreq/mvebu-cpufreq.c b/drivers/cpufreq/mvebu-cpufreq.c index 31513bd42705..6d33a639f902 100644 --- a/drivers/cpufreq/mvebu-cpufreq.c +++ b/drivers/cpufreq/mvebu-cpufreq.c | |||
@@ -84,9 +84,10 @@ static int __init armada_xp_pmsu_cpufreq_init(void) | |||
84 | 84 | ||
85 | ret = dev_pm_opp_add(cpu_dev, clk_get_rate(clk) / 2, 0); | 85 | ret = dev_pm_opp_add(cpu_dev, clk_get_rate(clk) / 2, 0); |
86 | if (ret) { | 86 | if (ret) { |
87 | dev_pm_opp_remove(cpu_dev, clk_get_rate(clk)); | ||
87 | clk_put(clk); | 88 | clk_put(clk); |
88 | dev_err(cpu_dev, "Failed to register OPPs\n"); | 89 | dev_err(cpu_dev, "Failed to register OPPs\n"); |
89 | goto opp_register_failed; | 90 | return ret; |
90 | } | 91 | } |
91 | 92 | ||
92 | ret = dev_pm_opp_set_sharing_cpus(cpu_dev, | 93 | ret = dev_pm_opp_set_sharing_cpus(cpu_dev, |
@@ -99,11 +100,5 @@ static int __init armada_xp_pmsu_cpufreq_init(void) | |||
99 | 100 | ||
100 | platform_device_register_simple("cpufreq-dt", -1, NULL, 0); | 101 | platform_device_register_simple("cpufreq-dt", -1, NULL, 0); |
101 | return 0; | 102 | return 0; |
102 | |||
103 | opp_register_failed: | ||
104 | /* As registering has failed remove all the opp for all cpus */ | ||
105 | dev_pm_opp_cpumask_remove_table(cpu_possible_mask); | ||
106 | |||
107 | return ret; | ||
108 | } | 103 | } |
109 | device_initcall(armada_xp_pmsu_cpufreq_init); | 104 | device_initcall(armada_xp_pmsu_cpufreq_init); |