pwm: Convert pwm-tegra to use devm_clk_get()

Also return proper error in tegra_pwm_remove() if pwmchip_remove()
fails.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
This commit is contained in:
Axel Lin 2012-07-01 13:00:51 +08:00 committed by Thierry Reding
parent 457fd768ee
commit 0c8f527d8c
1 changed files with 2 additions and 6 deletions

View File

@ -194,7 +194,7 @@ static int tegra_pwm_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, pwm); platform_set_drvdata(pdev, pwm);
pwm->clk = clk_get(&pdev->dev, NULL); pwm->clk = devm_clk_get(&pdev->dev, NULL);
if (IS_ERR(pwm->clk)) if (IS_ERR(pwm->clk))
return PTR_ERR(pwm->clk); return PTR_ERR(pwm->clk);
@ -206,7 +206,6 @@ static int tegra_pwm_probe(struct platform_device *pdev)
ret = pwmchip_add(&pwm->chip); ret = pwmchip_add(&pwm->chip);
if (ret < 0) { if (ret < 0) {
dev_err(&pdev->dev, "pwmchip_add() failed: %d\n", ret); dev_err(&pdev->dev, "pwmchip_add() failed: %d\n", ret);
clk_put(pwm->clk);
return ret; return ret;
} }
@ -233,10 +232,7 @@ static int __devexit tegra_pwm_remove(struct platform_device *pdev)
clk_disable_unprepare(pc->clk); clk_disable_unprepare(pc->clk);
} }
pwmchip_remove(&pc->chip); return pwmchip_remove(&pc->chip);
clk_put(pc->clk);
return 0;
} }
#ifdef CONFIG_OF #ifdef CONFIG_OF