The ti_cpufreq_probe() function uses regular kzalloc to allocate
the ti_cpufreq_data structure and kfree for freeing this memory
on failures. Simplify this code by using the devres managed
API.

Cc: Zumeng Chen <zumeng.c...@gmail.com>
Signed-off-by: Suman Anna <s-a...@ti.com>
---
 drivers/cpufreq/ti-cpufreq.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/cpufreq/ti-cpufreq.c b/drivers/cpufreq/ti-cpufreq.c
index 46d1ab2dea87..7d353a21935b 100644
--- a/drivers/cpufreq/ti-cpufreq.c
+++ b/drivers/cpufreq/ti-cpufreq.c
@@ -217,7 +217,7 @@ static int ti_cpufreq_probe(struct platform_device *pdev)
        if (!match)
                return -ENODEV;
 
-       opp_data = kzalloc(sizeof(*opp_data), GFP_KERNEL);
+       opp_data = devm_kzalloc(&pdev->dev, sizeof(*opp_data), GFP_KERNEL);
        if (!opp_data)
                return -ENOMEM;
 
@@ -226,8 +226,7 @@ static int ti_cpufreq_probe(struct platform_device *pdev)
        opp_data->cpu_dev = get_cpu_device(0);
        if (!opp_data->cpu_dev) {
                pr_err("%s: Failed to get device for CPU0\n", __func__);
-               ret = -ENODEV;
-               goto free_opp_data;
+               return -ENODEV;
        }
 
        opp_data->opp_node = dev_pm_opp_of_get_opp_desc_node(opp_data->cpu_dev);
@@ -285,8 +284,6 @@ static int ti_cpufreq_probe(struct platform_device *pdev)
 
 fail_put_node:
        of_node_put(opp_data->opp_node);
-free_opp_data:
-       kfree(opp_data);
 
        return ret;
 }
-- 
2.16.2

Reply via email to