From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomi Valkeinen Date: Thu, 15 Nov 2012 15:58:32 +0000 Subject: [PATCH 24/32] OMAPDSS: move irq handling to dispc-compat Message-Id: <1352995120-3288-25-git-send-email-tomi.valkeinen@ti.com> List-Id: References: <1352995120-3288-1-git-send-email-tomi.valkeinen@ti.com> In-Reply-To: <1352995120-3288-1-git-send-email-tomi.valkeinen@ti.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Archit Taneja , Rob Clark Cc: linux-omap@vger.kernel.org, linux-fbdev@vger.kernel.org, Tomi Valkeinen 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 --- drivers/video/omap2/dss/apply.c | 14 + drivers/video/omap2/dss/dispc-compat.c | 430 +++++++++++++++++++++++++++++++ drivers/video/omap2/dss/dispc-compat.h | 3 + drivers/video/omap2/dss/dispc.c | 437 +------------------------------- drivers/video/omap2/dss/dss.h | 5 + 5 files changed, 463 insertions(+), 426 deletions(-) diff --git a/drivers/video/omap2/dss/apply.c b/drivers/video/omap2/dss/apply.c index 45d837f..51124ab 100644 --- a/drivers/video/omap2/dss/apply.c +++ b/drivers/video/omap2/dss/apply.c @@ -1606,11 +1606,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(&apply_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); @@ -1632,6 +1644,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 24e1d5e..928884c 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