diff options
author | Patrick Delaunay <patrick.delaunay@st.com> | 2021-03-04 13:10:33 +0100 |
---|---|---|
committer | Patrice Chotard <patrice.chotard@foss.st.com> | 2021-03-11 17:55:09 +0100 |
commit | a6d047c0a86b4d91f0964ad35b38577e221cdde2 (patch) | |
tree | 016e0619c6d515843d6f7ca7b0e2743fc8616475 /drivers/video | |
parent | e9470fcd278dd85887f7671e5561351a860bb3d5 (diff) | |
download | u-boot-a6d047c0a86b4d91f0964ad35b38577e221cdde2.zip u-boot-a6d047c0a86b4d91f0964ad35b38577e221cdde2.tar.gz u-boot-a6d047c0a86b4d91f0964ad35b38577e221cdde2.tar.bz2 |
video: stm32: remove all child of DSI bridge when its probe failed
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@st.com>
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/stm32/stm32_dsi.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/video/stm32/stm32_dsi.c b/drivers/video/stm32/stm32_dsi.c index 8891ca4..4027e97 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; } |