diff mbox series

[v4] drm/bridge: tc358767: Fix (e)DP bridge endpoint parsing in dedicated function

Message ID 20220428213132.447890-1-marex@denx.de (mailing list archive)
State New, archived
Headers show
Series [v4] drm/bridge: tc358767: Fix (e)DP bridge endpoint parsing in dedicated function | expand

Commit Message

Marek Vasut April 28, 2022, 9:31 p.m. UTC
Per toshiba,tc358767.yaml DT binding document, port@2 the output (e)DP
port is optional. In case this port is not described in DT, the bridge
driver operates in DPI-to-DP mode. The drm_of_find_panel_or_bridge()
call in tc_probe_edp_bridge_endpoint() returns -ENODEV in case port@2
is not present in DT and this specific return value is incorrectly
propagated outside of tc_probe_edp_bridge_endpoint() function. All
other error values must be propagated and are propagated correctly.

Return 0 in case the port@2 is missing instead, that reinstates the
original behavior before the commit this patch fixes.

Fixes: 8478095a8c4b ("drm/bridge: tc358767: Move (e)DP bridge endpoint parsing into dedicated function")
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Jonas Karlman <jonas@kwiboo.se>
Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Marek Vasut <marex@denx.de>
Cc: Maxime Ripard <maxime@cerno.tech>
Cc: Neil Armstrong <narmstrong@baylibre.com>
Cc: Robert Foss <robert.foss@linaro.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
---
 drivers/gpu/drm/bridge/tc358767.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Marek Vasut April 28, 2022, 11:38 p.m. UTC | #1
On 4/28/22 23:31, Marek Vasut wrote:
> Per toshiba,tc358767.yaml DT binding document, port@2 the output (e)DP
> port is optional. In case this port is not described in DT, the bridge
> driver operates in DPI-to-DP mode. The drm_of_find_panel_or_bridge()
> call in tc_probe_edp_bridge_endpoint() returns -ENODEV in case port@2
> is not present in DT and this specific return value is incorrectly
> propagated outside of tc_probe_edp_bridge_endpoint() function. All
> other error values must be propagated and are propagated correctly.
> 
> Return 0 in case the port@2 is missing instead, that reinstates the
> original behavior before the commit this patch fixes.
> 
> Fixes: 8478095a8c4b ("drm/bridge: tc358767: Move (e)DP bridge endpoint parsing into dedicated function")
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Jonas Karlman <jonas@kwiboo.se>
> Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: Marek Vasut <marex@denx.de>
> Cc: Maxime Ripard <maxime@cerno.tech>
> Cc: Neil Armstrong <narmstrong@baylibre.com>
> Cc: Robert Foss <robert.foss@linaro.org>
> Cc: Sam Ravnborg <sam@ravnborg.org>

This is a V1, sigh ... the fix stands however.
Lucas Stach April 29, 2022, 9:38 a.m. UTC | #2
Am Donnerstag, dem 28.04.2022 um 23:31 +0200 schrieb Marek Vasut:
> Per toshiba,tc358767.yaml DT binding document, port@2 the output (e)DP
> port is optional. In case this port is not described in DT, the bridge
> driver operates in DPI-to-DP mode. The drm_of_find_panel_or_bridge()
> call in tc_probe_edp_bridge_endpoint() returns -ENODEV in case port@2
> is not present in DT and this specific return value is incorrectly
> propagated outside of tc_probe_edp_bridge_endpoint() function. All
> other error values must be propagated and are propagated correctly.
> 
> Return 0 in case the port@2 is missing instead, that reinstates the
> original behavior before the commit this patch fixes.
> 
> Fixes: 8478095a8c4b ("drm/bridge: tc358767: Move (e)DP bridge endpoint parsing into dedicated function")
> Signed-off-by: Marek Vasut <marex@denx.de>

Reviewed-by: Lucas Stach <l.stach@pengutronix.de>

> Cc: Jonas Karlman <jonas@kwiboo.se>
> Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: Marek Vasut <marex@denx.de>
> Cc: Maxime Ripard <maxime@cerno.tech>
> Cc: Neil Armstrong <narmstrong@baylibre.com>
> Cc: Robert Foss <robert.foss@linaro.org>
> Cc: Sam Ravnborg <sam@ravnborg.org>
> ---
>  drivers/gpu/drm/bridge/tc358767.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c
> index 0336b14d9e94..ad1d6e383966 100644
> --- a/drivers/gpu/drm/bridge/tc358767.c
> +++ b/drivers/gpu/drm/bridge/tc358767.c
> @@ -1955,7 +1955,7 @@ static int tc_probe_edp_bridge_endpoint(struct tc_data *tc)
>  		tc->bridge.ops |= DRM_BRIDGE_OP_DETECT;
>  	tc->bridge.ops |= DRM_BRIDGE_OP_EDID;
>  
> -	return ret;
> +	return 0;
>  }
>  
>  static int tc_probe_bridge_endpoint(struct tc_data *tc)
diff mbox series

Patch

diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c
index 0336b14d9e94..ad1d6e383966 100644
--- a/drivers/gpu/drm/bridge/tc358767.c
+++ b/drivers/gpu/drm/bridge/tc358767.c
@@ -1955,7 +1955,7 @@  static int tc_probe_edp_bridge_endpoint(struct tc_data *tc)
 		tc->bridge.ops |= DRM_BRIDGE_OP_DETECT;
 	tc->bridge.ops |= DRM_BRIDGE_OP_EDID;
 
-	return ret;
+	return 0;
 }
 
 static int tc_probe_bridge_endpoint(struct tc_data *tc)