drm/bridge: dpc3433: Don't log an error when DSI host can't be found
authorNícolas F. R. A. Prado <nfraprado@collabora.com>
Mon, 15 Apr 2024 21:49:35 +0000 (17:49 -0400)
committerRobert Foss <rfoss@kernel.org>
Tue, 16 Apr 2024 13:19:04 +0000 (15:19 +0200)
Given that failing to find a DSI host causes the driver to defer probe,
make use of dev_err_probe() to log the reason. This makes the defer
probe reason available and avoids alerting userspace about something
that is not necessarily an error.

Also move the "failed to attach" error message so that it's only printed
when the devm_mipi_dsi_attach() call fails.

Fixes: 6352cd451ddb ("drm: bridge: Add TI DLPC3433 DSI to DMD bridge")
Suggested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Signed-off-by: Robert Foss <rfoss@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240415-anx7625-defer-log-no-dsi-host-v3-7-619a28148e5c@collabora.com
drivers/gpu/drm/bridge/ti-dlpc3433.c

index ca3348109bcd208bf360479624eeb25a051c18fe..6b559e0713012f4425cb2e8fc2f3603bf23f8a26 100644 (file)
@@ -319,12 +319,11 @@ static int dlpc_host_attach(struct dlpc *dlpc)
                .channel = 0,
                .node = NULL,
        };
+       int ret;
 
        host = of_find_mipi_dsi_host_by_node(dlpc->host_node);
-       if (!host) {
-               DRM_DEV_ERROR(dev, "failed to find dsi host\n");
-               return -EPROBE_DEFER;
-       }
+       if (!host)
+               return dev_err_probe(dev, -EPROBE_DEFER, "failed to find dsi host\n");
 
        dlpc->dsi = mipi_dsi_device_register_full(host, &info);
        if (IS_ERR(dlpc->dsi)) {
@@ -336,7 +335,11 @@ static int dlpc_host_attach(struct dlpc *dlpc)
        dlpc->dsi->format = MIPI_DSI_FMT_RGB565;
        dlpc->dsi->lanes = dlpc->dsi_lanes;
 
-       return devm_mipi_dsi_attach(dev, dlpc->dsi);
+       ret = devm_mipi_dsi_attach(dev, dlpc->dsi);
+       if (ret)
+               DRM_DEV_ERROR(dev, "failed to attach dsi host\n");
+
+       return ret;
 }
 
 static int dlpc3433_probe(struct i2c_client *client)
@@ -367,10 +370,8 @@ static int dlpc3433_probe(struct i2c_client *client)
        drm_bridge_add(&dlpc->bridge);
 
        ret = dlpc_host_attach(dlpc);
-       if (ret) {
-               DRM_DEV_ERROR(dev, "failed to attach dsi host\n");
+       if (ret)
                goto err_remove_bridge;
-       }
 
        return 0;