[PATCH 2/2] drivers: video: tidss: tidss_drv: Use kconfig VIDEO_REMOVE to remove video

Nikhil M Jain n-jain1 at ti.com
Thu Jul 27 08:31:26 CEST 2023


Perform removal of DSS if kconfigs VIDEO_REMOVE or SPL_VIDEO_REMOVE is
set by user. Otherwise if above Kconfigs are not selected, it is assumed
that user wants splash screen to be displayed until linux kernel boots
up. In such scenario, leave the power domain of DSS as "on" so that
splash screen stays intact until kernel boots up.

Signed-off-by: Nikhil M Jain <n-jain1 at ti.com>
---
 drivers/video/tidss/tidss_drv.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/video/tidss/tidss_drv.c b/drivers/video/tidss/tidss_drv.c
index 623bf4cf31..e285f255d7 100644
--- a/drivers/video/tidss/tidss_drv.c
+++ b/drivers/video/tidss/tidss_drv.c
@@ -901,9 +901,11 @@ static int tidss_drv_probe(struct udevice *dev)
 
 static int tidss_drv_remove(struct udevice *dev)
 {
-	struct tidss_drv_priv *priv = dev_get_priv(dev);
+	if (CONFIG_IS_ENABLED(VIDEO_REMOVE)) {
+		struct tidss_drv_priv *priv = dev_get_priv(dev);
 
-	VP_REG_FLD_MOD(priv, 0, DSS_VP_CONTROL, 0, 0, 0);
+		VP_REG_FLD_MOD(priv, 0, DSS_VP_CONTROL, 0, 0, 0);
+	}
 	return 0;
 }
 
@@ -929,5 +931,9 @@ U_BOOT_DRIVER(tidss_drv) = {
 	.probe = tidss_drv_probe,
 	.remove = tidss_drv_remove,
 	.priv_auto = sizeof(struct tidss_drv_priv),
+#if CONFIG_IS_ENABLED(VIDEO_REMOVE)
 	.flags = DM_FLAG_OS_PREPARE,
+#else
+	.flags = DM_FLAG_OS_PREPARE | DM_FLAG_LEAVE_PD_ON,
+#endif
 };
-- 
2.34.1



More information about the U-Boot mailing list