mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
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>
This commit is contained in:
@@ -84,9 +84,10 @@ static int __init armada_xp_pmsu_cpufreq_init(void)
|
|||||||
|
|
||||||
ret = dev_pm_opp_add(cpu_dev, clk_get_rate(clk) / 2, 0);
|
ret = dev_pm_opp_add(cpu_dev, clk_get_rate(clk) / 2, 0);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
|
dev_pm_opp_remove(cpu_dev, clk_get_rate(clk));
|
||||||
clk_put(clk);
|
clk_put(clk);
|
||||||
dev_err(cpu_dev, "Failed to register OPPs\n");
|
dev_err(cpu_dev, "Failed to register OPPs\n");
|
||||||
goto opp_register_failed;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = dev_pm_opp_set_sharing_cpus(cpu_dev,
|
ret = dev_pm_opp_set_sharing_cpus(cpu_dev,
|
||||||
@@ -99,11 +100,5 @@ static int __init armada_xp_pmsu_cpufreq_init(void)
|
|||||||
|
|
||||||
platform_device_register_simple("cpufreq-dt", -1, NULL, 0);
|
platform_device_register_simple("cpufreq-dt", -1, NULL, 0);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
opp_register_failed:
|
|
||||||
/* As registering has failed remove all the opp for all cpus */
|
|
||||||
dev_pm_opp_cpumask_remove_table(cpu_possible_mask);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
device_initcall(armada_xp_pmsu_cpufreq_init);
|
device_initcall(armada_xp_pmsu_cpufreq_init);
|
||||||
|
Reference in New Issue
Block a user