drm/panel: st7703: Use dev_err_probe
authorGuido Günther <agx@sigxcpu.org>
Wed, 18 Nov 2020 08:29:48 +0000 (09:29 +0100)
committerGuido Günther <agx@sigxcpu.org>
Tue, 8 Dec 2020 10:05:04 +0000 (11:05 +0100)
Less code and easier probe deferral debugging.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/36405038d93eb148f3e8ed8e5ea70de8e87afd78.1605688147.git.agx@sigxcpu.org
drivers/gpu/drm/panel/panel-sitronix-st7703.c

index b30510b..a2c303e 100644 (file)
@@ -530,10 +530,8 @@ static int st7703_probe(struct mipi_dsi_device *dsi)
                return -ENOMEM;
 
        ctx->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_LOW);
-       if (IS_ERR(ctx->reset_gpio)) {
-               dev_err(dev, "cannot get reset gpio\n");
-               return PTR_ERR(ctx->reset_gpio);
-       }
+       if (IS_ERR(ctx->reset_gpio))
+               return dev_err_probe(dev, PTR_ERR(ctx->reset_gpio), "Failed to get reset gpio\n");
 
        mipi_dsi_set_drvdata(dsi, ctx);
 
@@ -545,19 +543,13 @@ static int st7703_probe(struct mipi_dsi_device *dsi)
        dsi->lanes = ctx->desc->lanes;
 
        ctx->vcc = devm_regulator_get(dev, "vcc");
-       if (IS_ERR(ctx->vcc)) {
-               ret = PTR_ERR(ctx->vcc);
-               if (ret != -EPROBE_DEFER)
-                       dev_err(dev, "Failed to request vcc regulator: %d\n", ret);
-               return ret;
-       }
+       if (IS_ERR(ctx->vcc))
+               return dev_err_probe(dev, PTR_ERR(ctx->vcc), "Failed to request vcc regulator\n");
+
        ctx->iovcc = devm_regulator_get(dev, "iovcc");
-       if (IS_ERR(ctx->iovcc)) {
-               ret = PTR_ERR(ctx->iovcc);
-               if (ret != -EPROBE_DEFER)
-                       dev_err(dev, "Failed to request iovcc regulator: %d\n", ret);
-               return ret;
-       }
+       if (IS_ERR(ctx->iovcc))
+               return dev_err_probe(dev, PTR_ERR(ctx->iovcc),
+                                    "Failed to request iovcc regulator\n");
 
        drm_panel_init(&ctx->panel, dev, &st7703_drm_funcs,
                       DRM_MODE_CONNECTOR_DSI);