drivers: video: tidss: tidss_drv: Use kconfig VIDEO_REMOVE to remove video
authorNikhil M Jain <n-jain1@ti.com>
Thu, 27 Jul 2023 06:31:26 +0000 (12:01 +0530)
committerAnatolij Gustschin <agust@denx.de>
Tue, 1 Aug 2023 11:41:02 +0000 (13:41 +0200)
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@ti.com>
Reviewed-by: Devarsh Thakkar <devarsht@ti.com>
drivers/video/tidss/tidss_drv.c

index 623bf4c..e285f25 100644 (file)
@@ -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
 };