Commit c6104fdbb2f83ad7696220e14fee54e14935f04b
Committed by
Rafael J. Wysocki
1 parent
2f0f609f2e
Exists in
ti-lsk-linux-4.1.y
and in
10 other branches
exynos5440: free OPP table created during ->init()
OPP layer now supports freeing of OPPs and we should free them once they aren't useful anymore. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Showing 1 changed file with 4 additions and 1 deletions Side-by-side Diff
drivers/cpufreq/exynos5440-cpufreq.c
... | ... | @@ -371,7 +371,7 @@ |
371 | 371 | if (ret) { |
372 | 372 | dev_err(dvfs_info->dev, |
373 | 373 | "failed to init cpufreq table: %d\n", ret); |
374 | - goto err_put_node; | |
374 | + goto err_free_opp; | |
375 | 375 | } |
376 | 376 | dvfs_info->freq_count = dev_pm_opp_get_opp_count(dvfs_info->dev); |
377 | 377 | exynos_sort_descend_freq_table(); |
... | ... | @@ -423,6 +423,8 @@ |
423 | 423 | |
424 | 424 | err_free_table: |
425 | 425 | dev_pm_opp_free_cpufreq_table(dvfs_info->dev, &dvfs_info->freq_table); |
426 | +err_free_opp: | |
427 | + of_free_opp_table(dvfs_info->dev); | |
426 | 428 | err_put_node: |
427 | 429 | of_node_put(np); |
428 | 430 | dev_err(&pdev->dev, "%s: failed initialization\n", __func__); |
... | ... | @@ -433,6 +435,7 @@ |
433 | 435 | { |
434 | 436 | cpufreq_unregister_driver(&exynos_driver); |
435 | 437 | dev_pm_opp_free_cpufreq_table(dvfs_info->dev, &dvfs_info->freq_table); |
438 | + of_free_opp_table(dvfs_info->dev); | |
436 | 439 | return 0; |
437 | 440 | } |
438 | 441 |