From: Tomi Valkeinen Date: Wed, 10 Oct 2012 12:55:19 +0000 (+0300) Subject: OMAPDSS: move irq handling to dispc-compat X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=96e2e6374385d2219b9011f6bfd0de7221a591d4;p=linux-beck.git 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 --- 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); diff --git a/drivers/video/omap2/dss/dispc-compat.c b/drivers/video/omap2/dss/dispc-compat.c index 24e1d5e974eb..928884c9a0a9 100644 --- a/drivers/video/omap2/dss/dispc-compat.c +++ b/drivers/video/omap2/dss/dispc-compat.c @@ -23,6 +23,8 @@ #include #include #include +#include +#include #include