To clean up the module probe and remove functions.

Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com>
---
 drivers/mfd/twl4030-audio.c | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/drivers/mfd/twl4030-audio.c b/drivers/mfd/twl4030-audio.c
index ac04b4f..efa2d42 100644
--- a/drivers/mfd/twl4030-audio.c
+++ b/drivers/mfd/twl4030-audio.c
@@ -188,7 +188,8 @@ static int __devinit twl4030_audio_probe(struct 
platform_device *pdev)
        twl_i2c_write_u8(TWL4030_MODULE_AUDIO_VOICE,
                                        val, TWL4030_REG_APLL_CTL);
 
-       audio = kzalloc(sizeof(struct twl4030_audio), GFP_KERNEL);
+       audio = devm_kzalloc(&pdev->dev, sizeof(struct twl4030_audio),
+                            GFP_KERNEL);
        if (!audio)
                return -ENOMEM;
 
@@ -229,22 +230,18 @@ static int __devinit twl4030_audio_probe(struct 
platform_device *pdev)
                ret = -ENODEV;
        }
 
-       if (!ret)
-               return 0;
+       if (ret) {
+               platform_set_drvdata(pdev, NULL);
+               twl4030_audio_dev = NULL;
+       }
 
-       platform_set_drvdata(pdev, NULL);
-       kfree(audio);
-       twl4030_audio_dev = NULL;
        return ret;
 }
 
 static int __devexit twl4030_audio_remove(struct platform_device *pdev)
 {
-       struct twl4030_audio *audio = platform_get_drvdata(pdev);
-
        mfd_remove_devices(&pdev->dev);
        platform_set_drvdata(pdev, NULL);
-       kfree(audio);
        twl4030_audio_dev = NULL;
 
        return 0;
-- 
1.7.12

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
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