summaryrefslogtreecommitdiff
path: root/drivers/video/omap2/dss/apply.c
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2012-10-10 15:55:19 +0300
committerTomi Valkeinen <tomi.valkeinen@ti.com>2012-12-07 17:05:57 +0200
commit96e2e6374385d2219b9011f6bfd0de7221a591d4 (patch)
tree4354979f96740cb79fafe33b91e0c16cafcafc44 /drivers/video/omap2/dss/apply.c
parent549acbe7a3380dd3bd2ac71698549148ecc0d17e (diff)
OMAPDSS: move irq handling to dispc-compat
The whole dispc irq handling system we currently have is only needed for compat layer, and thus can be moved from dispc.c to the compat layer. This is quite straigtforward, but we need to add new dispc functions to request and free the actual hardware irq: dispc_request_irq() and dispc_free_irq(). Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video/omap2/dss/apply.c')
-rw-r--r--drivers/video/omap2/dss/apply.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/video/omap2/dss/apply.c b/drivers/video/omap2/dss/apply.c
index 0de0d3cf1764..29e11434b7df 100644
--- a/drivers/video/omap2/dss/apply.c
+++ b/drivers/video/omap2/dss/apply.c
@@ -1607,11 +1607,23 @@ int omapdss_compat_init(void)
if (r)
goto err_mgr_ops;
+ dispc_runtime_get();
+
+ r = dss_dispc_initialize_irq();
+ if (r)
+ goto err_init_irq;
+
+ dispc_runtime_put();
+
out:
mutex_unlock(&compat_init_lock);
return 0;
+err_init_irq:
+ dispc_runtime_put();
+ dss_uninstall_mgr_ops();
+
err_mgr_ops:
dss_uninit_overlay_managers(pdev);
dss_uninit_overlays(pdev);
@@ -1633,6 +1645,8 @@ void omapdss_compat_uninit(void)
if (--compat_refcnt > 0)
goto out;
+ dss_dispc_uninitialize_irq();
+
dss_uninstall_mgr_ops();
dss_uninit_overlay_managers(pdev);