drm/panel: ltk050h3146w: only print message when GPIO getting is not EPROBE_DEFER
authorQuentin Schulz <quentin.schulz@theobroma-systems.com>
Thu, 4 Jan 2024 12:41:57 +0000 (13:41 +0100)
committerHeiko Stuebner <heiko@sntech.de>
Thu, 4 Jan 2024 16:07:33 +0000 (17:07 +0100)
devm_gpiod_get_optional may return EPROBE_DEFER in case the GPIO
controller isn't yet probed when the panel driver is being probed.

In that case, a spurious and confusing error message about not being
able to get the reset GPIO is printed even though later on the device
actually manages to get probed.

Use dev_err_probe instead so that the message is only printed when it
truly matters.

Cc: Quentin Schulz <foss+kernel@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Reviewed-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20240104-ltk-dev_err_probe-v1-1-8ef3c0b585d8@theobroma-systems.com
drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c

index 6e3670508e3a5a48fea062f74c8d3d4abbe413c9..69e4b4c975581895cff0a08dd2331bc37837dd07 100644 (file)
@@ -646,10 +646,8 @@ static int ltk050h3146w_probe(struct mipi_dsi_device *dsi)
                return -EINVAL;
 
        ctx->reset_gpio = devm_gpiod_get_optional(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), "cannot get reset gpio\n");
 
        ctx->vci = devm_regulator_get(dev, "vci");
        if (IS_ERR(ctx->vci)) {