[PATCH] video: stm32: remove all child of DSI bridge when its probe failed

Patrice CHOTARD patrice.chotard at foss.st.com
Tue Mar 9 15:21:37 CET 2021


Hi Patrick

On 3/4/21 1:10 PM, Patrick Delaunay wrote:
> From: Patrick Delaunay <patrick.delaunay at st.com>
> 
> Remove the child device of the STM32 DSI bridge when the driver probe
> failed to stop futher probe request on panels used with STMicroelectronics
> board (orisetech_otm8009a.c or raydium-rm68200.c driver).
> 
> This patch avoid the trace "cannot get reset GPIO" when
> STM32MP157 device tree is used on stm32MP151 SOC without DSI support.
> 
> In this hw_version value is 0, as DSI bridge is absent and the panel
> ofdata_to_platdata is called for each try of panel probe,
> the gpio reset pin is requested but after dsi father probe failed).
> 
> For the next request, the PANEL ofdata_to_platdata failed as the gpio
> is already used.
> 
> Signed-off-by: Patrick Delaunay <patrick.delaunay at st.com>
> Signed-off-by: Patrick Delaunay <patrick.delaunay at foss.st.com>
> ---
> 
>  drivers/video/stm32/stm32_dsi.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/video/stm32/stm32_dsi.c b/drivers/video/stm32/stm32_dsi.c
> index 8891ca4b78..4027e978c8 100644
> --- a/drivers/video/stm32/stm32_dsi.c
> +++ b/drivers/video/stm32/stm32_dsi.c
> @@ -483,6 +483,9 @@ static int stm32_dsi_probe(struct udevice *dev)
>  	if (priv->hw_version != HWVER_130 &&
>  	    priv->hw_version != HWVER_131) {
>  		dev_err(dev, "DSI version 0x%x not supported\n", priv->hw_version);
> +		dev_dbg(dev, "remove and unbind all DSI child\n");
> +		device_chld_remove(dev, NULL, DM_REMOVE_NORMAL);
> +		device_chld_unbind(dev, NULL);
>  		ret = -ENODEV;
>  		goto err_clk;
>  	}
> 
Reviewed-by: Patrice Chotard <patrice.chotard at foss.st.com>
Thanks
Patrice


More information about the U-Boot mailing list