From patchwork Mon Aug 23 15:57:58 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Senthilvadivu Guruswamy X-Patchwork-Id: 124731 X-Patchwork-Delegate: tomi.valkeinen@nokia.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.4/8.14.3) with ESMTP id o7NFwQVb016508 for ; Mon, 23 Aug 2010 15:59:09 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754299Ab0HWP6m (ORCPT ); Mon, 23 Aug 2010 11:58:42 -0400 Received: from devils.ext.ti.com ([198.47.26.153]:37923 "EHLO devils.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754228Ab0HWP6Y (ORCPT ); Mon, 23 Aug 2010 11:58:24 -0400 Received: from dbdp31.itg.ti.com ([172.24.170.98]) by devils.ext.ti.com (8.13.7/8.13.7) with ESMTP id o7NFwFJU031166 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 23 Aug 2010 10:58:17 -0500 Received: from linfarm476.india.ti.com (localhost [127.0.0.1]) by dbdp31.itg.ti.com (8.13.8/8.13.8) with ESMTP id o7NFwB1J001722; Mon, 23 Aug 2010 21:28:11 +0530 (IST) Received: from linfarm476.india.ti.com (localhost [127.0.0.1]) by linfarm476.india.ti.com (8.12.11/8.12.11) with ESMTP id o7NFwBSG011235; Mon, 23 Aug 2010 21:28:11 +0530 Received: (from a0876342@localhost) by linfarm476.india.ti.com (8.12.11/8.12.11/Submit) id o7NFwBIJ011233; Mon, 23 Aug 2010 21:28:11 +0530 From: Guruswamy Senthilvadivu To: linux-omap@vger.kernel.org, tomi.valkeinen@nokia.com, paul@pwsan.com, khilman@ti.com Cc: Senthilvadivu Guruswamy Subject: [PATCH 09/20] Move dss_init to dsshw_probe Date: Mon, 23 Aug 2010 21:27:58 +0530 Message-Id: <1282579089-10487-10-git-send-email-svadivu@ti.com> X-Mailer: git-send-email 1.5.6.6 In-Reply-To: <1282579089-10487-9-git-send-email-svadivu@ti.com> References: <1282579089-10487-1-git-send-email-svadivu@ti.com> <1282579089-10487-2-git-send-email-svadivu@ti.com> <1282579089-10487-3-git-send-email-svadivu@ti.com> <1282579089-10487-4-git-send-email-svadivu@ti.com> <1282579089-10487-5-git-send-email-svadivu@ti.com> <1282579089-10487-6-git-send-email-svadivu@ti.com> <1282579089-10487-7-git-send-email-svadivu@ti.com> <1282579089-10487-8-git-send-email-svadivu@ti.com> <1282579089-10487-9-git-send-email-svadivu@ti.com> Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Mon, 23 Aug 2010 15:59:10 +0000 (UTC) diff --git a/drivers/video/omap2/dss/core.c b/drivers/video/omap2/dss/core.c index 24b93d5..90a8f77 100644 --- a/drivers/video/omap2/dss/core.c +++ b/drivers/video/omap2/dss/core.c @@ -199,18 +199,6 @@ static int omap_dss_probe(struct platform_device *pdev) dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK1 | DSS_CLK_54M); -#ifdef CONFIG_FB_OMAP_BOOTLOADER_INIT - /* DISPC_CONTROL */ - if (omap_readl(0x48050440) & 1) /* LCD enabled? */ - skip_init = 1; -#endif - - r = dss_init(skip_init); - if (r) { - DSSERR("Failed to initialize DSS\n"); - goto err_dss; - } - r = rfbi_init(); if (r) { DSSERR("Failed to initialize rfbi\n"); @@ -292,8 +280,6 @@ err_dispc: err_dpi: rfbi_exit(); err_rfbi: - dss_exit(); -err_dss: dss_clk_disable(DSS_CLK_ICK | DSS_CLK_FCK1 | DSS_CLK_54M); return r; @@ -316,7 +302,6 @@ static int omap_dss_remove(struct platform_device *pdev) sdi_exit(); } - dss_exit(); dss_uninit_overlays(pdev); dss_uninit_overlay_managers(pdev); diff --git a/drivers/video/omap2/dss/dss.c b/drivers/video/omap2/dss/dss.c index 098ff96..cbad9ff 100644 --- a/drivers/video/omap2/dss/dss.c +++ b/drivers/video/omap2/dss/dss.c @@ -456,6 +456,7 @@ void dss_debug_dump_clocks(struct seq_file *s) static int omap_dsshw_probe(struct platform_device *pdev) { int r; + int skip_init = 0; dss.pdev = pdev; dss.pdata = dss.pdev->dev.platform_data; @@ -469,8 +470,20 @@ static int omap_dsshw_probe(struct platform_device *pdev) dss.ctx_id = dss_get_ctx_id(); DSSDBG("initial ctx id %u\n", dss.ctx_id); -err_clocks: +#ifdef CONFIG_FB_OMAP_BOOTLOADER_INIT + /* DISPC_CONTROL */ + if (omap_readl(0x48050440) & 1) /* LCD enabled? */ + skip_init = 1; +#endif + + r = dss_init(skip_init); + if (r) { + DSSERR("Failed to initialize DSS\n"); + goto err_dss; + } +err_clocks: +err_dss: return r; } @@ -478,6 +491,8 @@ static int omap_dsshw_remove(struct platform_device *pdev) { int c; + dss_exit(); + /* these should be removed at some point */ c = dss.dss_ick->usecount; if (c > 0) {