]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
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 623bf4cf31f0b902d1f0680c4adc658e44485675..e285f255d768c5d2382675278ea020d980478ead 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
 };