From d6c925cada0d92e49c3473bc0a69ea3913fff905 Mon Sep 17 00:00:00 2001 From: Vaishali Thakkar Date: Thu, 28 Apr 2016 18:52:49 +0530 Subject: [PATCH] drm/msm: Move call to PTR_ERR_OR_ZERO after reassignment Here, a location is reset to NULL before being passed to PTR_ERR. So, PTR_ERR should be called before its argument is reassigned to NULL. Further to simplify things use PTR_ERR_OR_ZERO instead of PTR_ERR and IS_ERR. Problem found using Coccinelle. Signed-off-by: Vaishali Thakkar Reviewed-by: Eric Engestrom [fixed fmt string warning (s/%ld/%d/)] Signed-off-by: Rob Clark --- drivers/gpu/drm/msm/edp/edp_ctrl.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/msm/edp/edp_ctrl.c b/drivers/gpu/drm/msm/edp/edp_ctrl.c index 81200e9be382..4f7457b14dcc 100644 --- a/drivers/gpu/drm/msm/edp/edp_ctrl.c +++ b/drivers/gpu/drm/msm/edp/edp_ctrl.c @@ -302,21 +302,24 @@ static void edp_clk_disable(struct edp_ctrl *ctrl, u32 clk_mask) static int edp_regulator_init(struct edp_ctrl *ctrl) { struct device *dev = &ctrl->pdev->dev; + int ret; DBG(""); ctrl->vdda_vreg = devm_regulator_get(dev, "vdda"); - if (IS_ERR(ctrl->vdda_vreg)) { - pr_err("%s: Could not get vdda reg, ret = %ld\n", __func__, - PTR_ERR(ctrl->vdda_vreg)); + ret = PTR_ERR_OR_ZERO(ctrl->vdda_vreg); + if (ret) { + pr_err("%s: Could not get vdda reg, ret = %d\n", __func__, + ret); ctrl->vdda_vreg = NULL; - return PTR_ERR(ctrl->vdda_vreg); + return ret; } ctrl->lvl_vreg = devm_regulator_get(dev, "lvl-vdd"); - if (IS_ERR(ctrl->lvl_vreg)) { - pr_err("Could not get lvl-vdd reg, %ld", - PTR_ERR(ctrl->lvl_vreg)); + ret = PTR_ERR_OR_ZERO(ctrl->lvl_vreg); + if (ret) { + pr_err("%s: Could not get lvl-vdd reg, ret = %d\n", __func__, + ret); ctrl->lvl_vreg = NULL; - return PTR_ERR(ctrl->lvl_vreg); + return ret; } return 0; -- 2.20.1