Commit c6104fdbb2f83ad7696220e14fee54e14935f04b

Authored by Viresh Kumar
Committed by Rafael J. Wysocki
1 parent 2f0f609f2e

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