Commit d109d74c authored by Anson Huang's avatar Anson Huang Committed by Thierry Reding
Browse files

pwm: imx27: Use dev_err_probe() to simplify error handling



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: default avatarAnson Huang <Anson.Huang@nxp.com>
Acked-by: default avatarLee Jones <lee.jones@linaro.org>
Acked-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: default avatarThierry Reding <thierry.reding@gmail.com>
parent 168cc329
Loading
Loading
Loading
Loading
+6 −19
Original line number Diff line number Diff line
@@ -315,27 +315,14 @@ static int pwm_imx27_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)) {
		int ret = PTR_ERR(imx->clk_ipg);

		if (ret != -EPROBE_DEFER)
			dev_err(&pdev->dev,
				"getting ipg clock failed with %d\n",
				ret);
		return ret;
	}
	if (IS_ERR(imx->clk_ipg))
		return dev_err_probe(&pdev->dev, PTR_ERR(imx->clk_ipg),
				     "getting ipg clock failed\n");

	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\n");

	imx->chip.ops = &pwm_imx27_ops;
	imx->chip.dev = &pdev->dev;