From: Tomi Valkeinen Date: Tue, 23 Oct 2012 10:46:12 +0000 (+0300) Subject: OMAPDSS: move ovl & ovl-mgr init to apply.c X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=23dfd1ac87b56652e618fda24b035505c89c4b8c;p=deliverable%2Flinux.git 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 --- 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;