dev_err_probe() can reduce code size, uniform error handling and record the
defer probe reason etc., use it to simplify the code.

Signed-off-by: Anson Huang <anson.hu...@nxp.com>
---
 drivers/pwm/pwm-imx1.c | 23 ++++++++---------------
 1 file changed, 8 insertions(+), 15 deletions(-)

diff --git a/drivers/pwm/pwm-imx1.c b/drivers/pwm/pwm-imx1.c
index f8b2c2e..c0757a5 100644
--- a/drivers/pwm/pwm-imx1.c
+++ b/drivers/pwm/pwm-imx1.c
@@ -145,23 +145,16 @@ static int pwm_imx1_probe(struct platform_device *pdev)
        platform_set_drvdata(pdev, imx);
 
        imx->clk_ipg = devm_clk_get(&pdev->dev, "ipg");
-       if (IS_ERR(imx->clk_ipg)) {
-               dev_err(&pdev->dev, "getting ipg clock failed with %ld\n",
-                               PTR_ERR(imx->clk_ipg));
-               return PTR_ERR(imx->clk_ipg);
-       }
+       if (IS_ERR(imx->clk_ipg))
+               return dev_err_probe(&pdev->dev, PTR_ERR(imx->clk_ipg),
+                                    "getting ipg clock failed with %ld\n",
+                                    PTR_ERR(imx->clk_ipg));
 
        imx->clk_per = devm_clk_get(&pdev->dev, "per");
-       if (IS_ERR(imx->clk_per)) {
-               int ret = PTR_ERR(imx->clk_per);
-
-               if (ret != -EPROBE_DEFER)
-                       dev_err(&pdev->dev,
-                               "failed to get peripheral clock: %d\n",
-                               ret);
-
-               return ret;
-       }
+       if (IS_ERR(imx->clk_per))
+               return dev_err_probe(&pdev->dev, PTR_ERR(imx->clk_per),
+                                    "failed to get peripheral clock: %ld\n",
+                                    PTR_ERR(imx->clk_per));
 
        imx->chip.ops = &pwm_imx1_ops;
        imx->chip.dev = &pdev->dev;
-- 
2.7.4

Reply via email to