Use devm_kzalloc() to make cleanup paths more simple.

Signed-off-by: Jingoo Han <jg1....@samsung.com>
---
 drivers/pwm/pwm-ab8500.c |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/pwm/pwm-ab8500.c b/drivers/pwm/pwm-ab8500.c
index 4248d04..93af1bb 100644
--- a/drivers/pwm/pwm-ab8500.c
+++ b/drivers/pwm/pwm-ab8500.c
@@ -99,7 +99,7 @@ static int ab8500_pwm_probe(struct platform_device *pdev)
         * Nothing to be done in probe, this is required to get the
         * device which is required for ab8500 read and write
         */
-       ab8500 = kzalloc(sizeof(*ab8500), GFP_KERNEL);
+       ab8500 = devm_kzalloc(&pdev->dev, sizeof(*ab8500), GFP_KERNEL);
        if (ab8500 == NULL) {
                dev_err(&pdev->dev, "failed to allocate memory\n");
                return -ENOMEM;
@@ -111,10 +111,8 @@ static int ab8500_pwm_probe(struct platform_device *pdev)
        ab8500->chip.npwm = 1;
 
        err = pwmchip_add(&ab8500->chip);
-       if (err < 0) {
-               kfree(ab8500);
+       if (err < 0)
                return err;
-       }
 
        dev_dbg(&pdev->dev, "pwm probe successful\n");
        platform_set_drvdata(pdev, ab8500);
@@ -132,7 +130,6 @@ static int ab8500_pwm_remove(struct platform_device *pdev)
                return err;
 
        dev_dbg(&pdev->dev, "pwm driver removed\n");
-       kfree(ab8500);
 
        return 0;
 }
-- 
1.7.2.5


--
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