From: Roger Quadros <roger.quadros@nokia.com>
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 [thread overview]
Message-ID: <1268407644-31230-4-git-send-email-roger.quadros@nokia.com> (raw)
In-Reply-To: <1268407644-31230-3-git-send-email-roger.quadros@nokia.com>
From: Roger Quadros <roger.quadros@nokia.com>
This patch enables the use of vdds_sdi regulator in SDI subsystem.
We can disable the vdds_sdi voltage when not in use to save
power.
Signed-off-by: Roger Quadros <roger.quadros@nokia.com>
---
drivers/video/omap2/dss/sdi.c | 23 +++++++++++++++++++++--
1 files changed, 21 insertions(+), 2 deletions(-)
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 <linux/clk.h>
#include <linux/delay.h>
#include <linux/err.h>
+#include <linux/regulator/consumer.h>
#include <plat/display.h>
+#include <plat/cpu.h>
#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;
}
--
1.6.0.4
next prev parent reply other threads:[~2010-03-12 15:27 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-12 15:27 [RFC][PATCH 0/3] OMAP: DSS2: Allow us to use SDI Roger Quadros
2010-03-12 15:27 ` [RFC][PATCH 1/3] OMAP: DSS2: Do regulator stuff in dpi_init_display() Roger Quadros
2010-03-12 15:27 ` [RFC][PATCH 2/3] OMAP: DSS2: Prevent recursive Panel Enable/Disable calls from SDI Roger Quadros
2010-03-12 15:27 ` Roger Quadros [this message]
2010-03-15 9:53 ` [RFC][PATCH 3/3] OMAP: DSS2: Use vdds_sdi regulator supply in Tomi Valkeinen
2010-03-15 11:26 ` Roger Quadros
2010-03-15 11:32 ` Tomi Valkeinen
2010-03-15 9:32 ` [RFC][PATCH 2/3] OMAP: DSS2: Prevent recursive Panel Tomi Valkeinen
2010-03-15 9:52 ` Tomi Valkeinen
2010-03-15 9:30 ` [RFC][PATCH 1/3] OMAP: DSS2: Do regulator stuff in Tomi Valkeinen
2010-03-15 9:57 ` [RFC][PATCH 1/3] OMAP: DSS2: Do regulator stuff in dpi_init_display() Roger Quadros
-- strict thread matches above, loose matches on Subject: below --
2010-03-12 15:37 [RFC][PATCH 3/3] OMAP: DSS2: Use vdds_sdi regulator supply in SDI Roger Quadros
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1268407644-31230-4-git-send-email-roger.quadros@nokia.com \
--to=roger.quadros@nokia.com \
--cc=Tomi.Valkeinen@nokia.com \
--cc=linux-fbdev-devel@lists.sourceforge.net \
--cc=linux-omap@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).