summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2012-10-23 12:46:12 +0200
committerTomi Valkeinen <tomi.valkeinen@ti.com>2012-12-07 16:05:54 +0100
commit23dfd1ac87b56652e618fda24b035505c89c4b8c (patch)
treefeb6e4366870e3c690c84bbdccfae960a6e64139
parentOMAPDSS: add omapdss_compat_init() (diff)
downloadlinux-23dfd1ac87b56652e618fda24b035505c89c4b8c.tar.xz
linux-23dfd1ac87b56652e618fda24b035505c89c4b8c.zip
OMAPDSS: move ovl & ovl-mgr init to apply.c
Overlay and overlay_manager structs will only be needed in the compat mode. This patch moves initialization of overlay and overlay_manager structs to apply.c, so that they are handled in omapdss_compat_init(). Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
-rw-r--r--drivers/video/omap2/dss/apply.c9
-rw-r--r--drivers/video/omap2/dss/core.c6
2 files changed, 9 insertions, 6 deletions
diff --git a/drivers/video/omap2/dss/apply.c b/drivers/video/omap2/dss/apply.c
index ba1343274bb7..6f60d0e0b7ee 100644
--- a/drivers/video/omap2/dss/apply.c
+++ b/drivers/video/omap2/dss/apply.c
@@ -1469,6 +1469,8 @@ static DEFINE_MUTEX(compat_init_lock);
int omapdss_compat_init(void)
{
+ struct platform_device *pdev = dss_get_core_pdev();
+
mutex_lock(&compat_init_lock);
if (compat_refcnt++ > 0)
@@ -1476,6 +1478,9 @@ int omapdss_compat_init(void)
apply_init_priv();
+ dss_init_overlay_managers(pdev);
+ dss_init_overlays(pdev);
+
out:
mutex_unlock(&compat_init_lock);
@@ -1485,11 +1490,15 @@ EXPORT_SYMBOL(omapdss_compat_init);
void omapdss_compat_uninit(void)
{
+ struct platform_device *pdev = dss_get_core_pdev();
+
mutex_lock(&compat_init_lock);
if (--compat_refcnt > 0)
goto out;
+ dss_uninit_overlay_managers(pdev);
+ dss_uninit_overlays(pdev);
out:
mutex_unlock(&compat_init_lock);
}
diff --git a/drivers/video/omap2/dss/core.c b/drivers/video/omap2/dss/core.c
index 86c743f5ed2e..1751c1f511ad 100644
--- a/drivers/video/omap2/dss/core.c
+++ b/drivers/video/omap2/dss/core.c
@@ -234,9 +234,6 @@ static int __init omap_dss_probe(struct platform_device *pdev)
omapdss_compat_init();
- dss_init_overlay_managers(pdev);
- dss_init_overlays(pdev);
-
r = dss_initialize_debugfs();
if (r)
goto err_debugfs;
@@ -261,9 +258,6 @@ static int omap_dss_remove(struct platform_device *pdev)
dss_uninitialize_debugfs();
- dss_uninit_overlays(pdev);
- dss_uninit_overlay_managers(pdev);
-
omapdss_compat_uninit();
return 0;