From 5ddc587043c0385af3baf6e73c7711c699109f65 Mon Sep 17 00:00:00 2001 From: Nikhil M Jain Date: Thu, 27 Jul 2023 12:01:26 +0530 Subject: [PATCH] drivers: video: tidss: tidss_drv: Use kconfig VIDEO_REMOVE to remove video 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 Reviewed-by: Devarsh Thakkar --- 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.39.5