Signed-off-by: Lee Jones <[email protected]>
---
 drivers/mfd/davinci_voicecodec.c |   10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/mfd/davinci_voicecodec.c b/drivers/mfd/davinci_voicecodec.c
index c60ab0c..b6e2973 100644
--- a/drivers/mfd/davinci_voicecodec.c
+++ b/drivers/mfd/davinci_voicecodec.c
@@ -50,7 +50,8 @@ static int __init davinci_vc_probe(struct platform_device 
*pdev)
        struct mfd_cell *cell = NULL;
        int ret;
 
-       davinci_vc = kzalloc(sizeof(struct davinci_vc), GFP_KERNEL);
+       davinci_vc = devm_kzalloc(&pdev->dev,
+                                 sizeof(struct davinci_vc), GFP_KERNEL);
        if (!davinci_vc) {
                dev_dbg(&pdev->dev,
                            "could not allocate memory for private data\n");
@@ -61,8 +62,7 @@ static int __init davinci_vc_probe(struct platform_device 
*pdev)
        if (IS_ERR(davinci_vc->clk)) {
                dev_dbg(&pdev->dev,
                            "could not get the clock for voice codec\n");
-               ret = -ENODEV;
-               goto fail1;
+               return -ENODEV;
        }
        clk_enable(davinci_vc->clk);
 
@@ -145,8 +145,6 @@ fail2:
        clk_disable(davinci_vc->clk);
        clk_put(davinci_vc->clk);
        davinci_vc->clk = NULL;
-fail1:
-       kfree(davinci_vc);
 
        return ret;
 }
@@ -164,8 +162,6 @@ static int davinci_vc_remove(struct platform_device *pdev)
        clk_put(davinci_vc->clk);
        davinci_vc->clk = NULL;
 
-       kfree(davinci_vc);
-
        return 0;
 }
 
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to