From patchwork Fri Mar 12 15:27:24 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Roger Quadros X-Patchwork-Id: 85311 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.3/8.14.3) with ESMTP id o2CFMwtK024947 for ; Fri, 12 Mar 2010 15:28:31 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934345Ab0CLP2a (ORCPT ); Fri, 12 Mar 2010 10:28:30 -0500 Received: from smtp.nokia.com ([192.100.122.233]:41352 "EHLO mgw-mx06.nokia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934328Ab0CLP23 (ORCPT ); Fri, 12 Mar 2010 10:28:29 -0500 Received: from vaebh106.NOE.Nokia.com (vaebh106.europe.nokia.com [10.160.244.32]) by mgw-mx06.nokia.com (Switch-3.3.3/Switch-3.3.3) with ESMTP id o2CFRwIN030816; Fri, 12 Mar 2010 17:28:17 +0200 Received: from esebh102.NOE.Nokia.com ([172.21.138.183]) by vaebh106.NOE.Nokia.com with Microsoft SMTPSVC(6.0.3790.3959); Fri, 12 Mar 2010 17:27:57 +0200 Received: from mgw-sa01.ext.nokia.com ([147.243.1.47]) by esebh102.NOE.Nokia.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.3959); Fri, 12 Mar 2010 17:27:58 +0200 Received: from localhost.localdomain (esdhcp041162.research.nokia.com [172.21.41.162]) by mgw-sa01.ext.nokia.com (Switch-3.3.3/Switch-3.3.3) with ESMTP id o2CFRqbf004595; Fri, 12 Mar 2010 17:27:56 +0200 From: Roger Quadros To: Tomi.Valkeinen@nokia.com Cc: linux-fbdev-devel@lists.sourceforge.net, linux-omap@vger.kernel.org Subject: [RFC][PATCH 3/3] OMAP: DSS2: Use vdds_sdi regulator supply in SDI Date: Fri, 12 Mar 2010 17:27:24 +0200 Message-Id: <1268407644-31230-4-git-send-email-roger.quadros@nokia.com> X-Mailer: git-send-email 1.6.0.4 In-Reply-To: <1268407644-31230-3-git-send-email-roger.quadros@nokia.com> References: <1268407644-31230-1-git-send-email-roger.quadros@nokia.com> <1268407644-31230-2-git-send-email-roger.quadros@nokia.com> <1268407644-31230-3-git-send-email-roger.quadros@nokia.com> X-OriginalArrivalTime: 12 Mar 2010 15:27:58.0233 (UTC) FILETIME=[9828A090:01CAC1F8] X-Nokia-AV: Clean 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]); Fri, 12 Mar 2010 15:28:31 +0000 (UTC) diff --git a/drivers/video/omap2/dss/sdi.c b/drivers/video/omap2/dss/sdi.c index 45aab89..e816e80 100644 --- a/drivers/video/omap2/dss/sdi.c +++ b/drivers/video/omap2/dss/sdi.c @@ -23,13 +23,16 @@ #include #include #include +#include #include +#include #include "dss.h" static struct { bool skip_init; bool update_enabled; + struct regulator *vdds_sdi_reg; } sdi; static void sdi_basic_init(void) @@ -57,6 +60,12 @@ int omapdss_sdi_display_enable(struct omap_dss_device *dssdev) goto err0; } + if (cpu_is_omap34xx()) { + r = regulator_enable(sdi.vdds_sdi_reg); + if (r) + goto err1; + } + /* In case of skip_init sdi_init has already enabled the clocks */ if (!sdi.skip_init) dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK1); @@ -118,10 +127,10 @@ int omapdss_sdi_display_enable(struct omap_dss_device *dssdev) sdi.skip_init = 0; return 0; -err3: - dssdev->manager->disable(dssdev->manager); err2: dss_clk_disable(DSS_CLK_ICK | DSS_CLK_FCK1); + if (cpu_is_omap34xx()) + regulator_enable(sdi.vdds_sdi_reg); err1: omap_dss_stop_device(dssdev); err0: @@ -137,6 +146,9 @@ void omapdss_sdi_display_disable(struct omap_dss_device *dssdev) dss_clk_disable(DSS_CLK_ICK | DSS_CLK_FCK1); + if (cpu_is_omap34xx()) + regulator_enable(sdi.vdds_sdi_reg); + omap_dss_stop_device(dssdev); } EXPORT_SYMBOL(omapdss_sdi_display_disable); @@ -144,6 +156,13 @@ EXPORT_SYMBOL(omapdss_sdi_display_disable); int sdi_init_display(struct omap_dss_device *dssdev) { DSSDBG("SDI init\n"); + if (cpu_is_omap34xx()) { + sdi.vdds_sdi_reg = dss_get_vdds_sdi(); + if (IS_ERR(sdi.vdds_sdi_reg)) { + DSSERR("can't get VDDS_SDI regulator\n"); + return PTR_ERR(sdi.vdds_sdi_reg); + } + } return 0; }