[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4c57d1f6-3114-4789-94d4-03e78852cbef@collabora.com>
Date: Wed, 28 Feb 2024 10:51:34 +0100
From: AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>
To: Nícolas F. R. A. Prado <nfraprado@...labora.com>,
Robert Foss <rfoss@...nel.org>
Cc: Andrzej Hajda <andrzej.hajda@...el.com>,
Neil Armstrong <neil.armstrong@...aro.org>,
Laurent Pinchart <Laurent.pinchart@...asonboard.com>,
Jonas Karlman <jonas@...boo.se>, Jernej Skrabec <jernej.skrabec@...il.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>, Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>, Daniel Vetter <daniel@...ll.ch>,
owen <qwt9588@...il.com>, kernel@...labora.com,
dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] drm/bridge: anx7625: Don't log an error when DSI host
can't be found
Il 26/02/24 22:20, Nícolas F. R. A. Prado ha scritto:
> 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.
>
> Fixes: 269332997a16 ("drm/bridge: anx7625: Return -EPROBE_DEFER if the dsi host was not found")
> Signed-off-by: Nícolas F. R. A. Prado <nfraprado@...labora.com>
> ---
> drivers/gpu/drm/bridge/analogix/anx7625.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c
> index 29d91493b101..4ee5614a2623 100644
> --- a/drivers/gpu/drm/bridge/analogix/anx7625.c
> +++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
> @@ -2076,10 +2076,8 @@ static int anx7625_setup_dsi_device(struct anx7625_data *ctx)
> };
>
> host = of_find_mipi_dsi_host_by_node(ctx->pdata.mipi_host_node);
> - if (!host) {
> - DRM_DEV_ERROR(dev, "fail to find dsi host.\n");
> - return -EPROBE_DEFER;
> - }
> + if (!host)
> + return dev_err_probe(dev, -EPROBE_DEFER, "fail to find dsi host.\n");
Agreed, but while at it:
1. This is not the only driver doing this, so you might as well go fix all of them
in a series (toshiba tcxxxx, lontium, chipone.... check them, the error message
is exactly the same even, that'd take 3 seconds);
2. I've just noticed that, in this driver, of_node_put() is never called for the
`mipi_host_node`, so the reference is never dropped... but that can come later
and not necessarily in the eventual series that fixes the err message strategy.
In the meanwhile, for this commit
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>
>
> dsi = devm_mipi_dsi_device_register_full(dev, host, &info);
> if (IS_ERR(dsi)) {
>
> ---
> base-commit: 2ae0a045e6814c8c1d676d6153c605a65746aa29
> change-id: 20240226-anx7625-defer-log-no-dsi-host-c3f9ccbcb287
>
> Best regards,
Powered by blists - more mailing lists