diff options
Diffstat (limited to 'drivers/cpufreq/arm_big_little.c')
-rw-r--r-- | drivers/cpufreq/arm_big_little.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/cpufreq/arm_big_little.c b/drivers/cpufreq/arm_big_little.c index a46c223c2506..e1a6ba66a7f5 100644 --- a/drivers/cpufreq/arm_big_little.c +++ b/drivers/cpufreq/arm_big_little.c | |||
@@ -289,6 +289,8 @@ static void _put_cluster_clk_and_freq_table(struct device *cpu_dev) | |||
289 | 289 | ||
290 | clk_put(clk[cluster]); | 290 | clk_put(clk[cluster]); |
291 | dev_pm_opp_free_cpufreq_table(cpu_dev, &freq_table[cluster]); | 291 | dev_pm_opp_free_cpufreq_table(cpu_dev, &freq_table[cluster]); |
292 | if (arm_bL_ops->free_opp_table) | ||
293 | arm_bL_ops->free_opp_table(cpu_dev); | ||
292 | dev_dbg(cpu_dev, "%s: cluster: %d\n", __func__, cluster); | 294 | dev_dbg(cpu_dev, "%s: cluster: %d\n", __func__, cluster); |
293 | } | 295 | } |
294 | 296 | ||
@@ -337,7 +339,7 @@ static int _get_cluster_clk_and_freq_table(struct device *cpu_dev) | |||
337 | if (ret) { | 339 | if (ret) { |
338 | dev_err(cpu_dev, "%s: failed to init cpufreq table, cpu: %d, err: %d\n", | 340 | dev_err(cpu_dev, "%s: failed to init cpufreq table, cpu: %d, err: %d\n", |
339 | __func__, cpu_dev->id, ret); | 341 | __func__, cpu_dev->id, ret); |
340 | goto out; | 342 | goto free_opp_table; |
341 | } | 343 | } |
342 | 344 | ||
343 | name[12] = cluster + '0'; | 345 | name[12] = cluster + '0'; |
@@ -354,6 +356,9 @@ static int _get_cluster_clk_and_freq_table(struct device *cpu_dev) | |||
354 | ret = PTR_ERR(clk[cluster]); | 356 | ret = PTR_ERR(clk[cluster]); |
355 | dev_pm_opp_free_cpufreq_table(cpu_dev, &freq_table[cluster]); | 357 | dev_pm_opp_free_cpufreq_table(cpu_dev, &freq_table[cluster]); |
356 | 358 | ||
359 | free_opp_table: | ||
360 | if (arm_bL_ops->free_opp_table) | ||
361 | arm_bL_ops->free_opp_table(cpu_dev); | ||
357 | out: | 362 | out: |
358 | dev_err(cpu_dev, "%s: Failed to get data for cluster: %d\n", __func__, | 363 | dev_err(cpu_dev, "%s: Failed to get data for cluster: %d\n", __func__, |
359 | cluster); | 364 | cluster); |