diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2012-10-23 12:46:12 +0200 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2012-12-07 16:05:54 +0100 |
commit | 23dfd1ac87b56652e618fda24b035505c89c4b8c (patch) | |
tree | feb6e4366870e3c690c84bbdccfae960a6e64139 /drivers/video/omap2 | |
parent | OMAPDSS: add omapdss_compat_init() (diff) | |
download | linux-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>
Diffstat (limited to 'drivers/video/omap2')
-rw-r--r-- | drivers/video/omap2/dss/apply.c | 9 | ||||
-rw-r--r-- | drivers/video/omap2/dss/core.c | 6 |
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; |