| .. | .. |
|---|
| 84 | 84 | |
|---|
| 85 | 85 | ret = dev_pm_opp_add(cpu_dev, clk_get_rate(clk) / 2, 0); |
|---|
| 86 | 86 | if (ret) { |
|---|
| 87 | + dev_pm_opp_remove(cpu_dev, clk_get_rate(clk)); |
|---|
| 87 | 88 | clk_put(clk); |
|---|
| 88 | 89 | dev_err(cpu_dev, "Failed to register OPPs\n"); |
|---|
| 89 | | - goto opp_register_failed; |
|---|
| 90 | + return ret; |
|---|
| 90 | 91 | } |
|---|
| 91 | 92 | |
|---|
| 92 | 93 | ret = dev_pm_opp_set_sharing_cpus(cpu_dev, |
|---|
| .. | .. |
|---|
| 99 | 100 | |
|---|
| 100 | 101 | platform_device_register_simple("cpufreq-dt", -1, NULL, 0); |
|---|
| 101 | 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 | 104 | device_initcall(armada_xp_pmsu_cpufreq_init); |
|---|