All of lore.kernel.org
 help / color / mirror / Atom feed
From: Denis Carikli <denis@eukrea.com>
To: linux-arm-kernel@lists.infradead.org
Subject: [Patch v2][ 09/37] video: imxfb: Introduce regulator support.
Date: Thu, 17 Oct 2013 15:02:07 +0000	[thread overview]
Message-ID: <1382022155-21954-10-git-send-email-denis@eukrea.com> (raw)
In-Reply-To: <1382022155-21954-1-git-send-email-denis@eukrea.com>

This commit is based on the following commit by Fabio Estevam:
  4344429 video: mxsfb: Introduce regulator support

Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: linux-arm-kernel@lists.infradead.org
Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: linux-fbdev@vger.kernel.org
Cc: Eric Bénard <eric@eukrea.com>
Signed-off-by: Denis Carikli <denis@eukrea.com>
---
 drivers/video/imxfb.c |   27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/drivers/video/imxfb.c b/drivers/video/imxfb.c
index 44ee678..4dd7678 100644
--- a/drivers/video/imxfb.c
+++ b/drivers/video/imxfb.c
@@ -28,6 +28,7 @@
 #include <linux/cpufreq.h>
 #include <linux/clk.h>
 #include <linux/platform_device.h>
+#include <linux/regulator/consumer.h>
 #include <linux/dma-mapping.h>
 #include <linux/io.h>
 #include <linux/math64.h>
@@ -145,6 +146,7 @@ struct imxfb_info {
 	struct clk		*clk_ipg;
 	struct clk		*clk_ahb;
 	struct clk		*clk_per;
+	struct regulator	*reg_lcd;
 	enum imxfb_type		devtype;
 	bool			enabled;
 
@@ -563,12 +565,23 @@ static void imxfb_exit_backlight(struct imxfb_info *fbi)
 
 static void imxfb_enable_controller(struct imxfb_info *fbi)
 {
+	int ret;
 
 	if (fbi->enabled)
 		return;
 
 	pr_debug("Enabling LCD controller\n");
 
+	if (fbi->reg_lcd) {
+		ret = regulator_enable(fbi->reg_lcd);
+		if (ret) {
+			dev_err(&fbi->pdev->dev,
+				"lcd regulator enable failed with error: %d\n",
+				ret);
+			return;
+		}
+	}
+
 	writel(fbi->screen_dma, fbi->regs + LCDC_SSA);
 
 	/* panning offset 0 (0 pixel offset)        */
@@ -597,6 +610,8 @@ static void imxfb_enable_controller(struct imxfb_info *fbi)
 
 static void imxfb_disable_controller(struct imxfb_info *fbi)
 {
+	int ret;
+
 	if (!fbi->enabled)
 		return;
 
@@ -613,6 +628,14 @@ static void imxfb_disable_controller(struct imxfb_info *fbi)
 	fbi->enabled = false;
 
 	writel(0, fbi->regs + LCDC_RMCR);
+
+	if (fbi->reg_lcd) {
+		ret = regulator_disable(fbi->reg_lcd);
+		if (ret)
+			dev_err(&fbi->pdev->dev,
+				"lcd regulator disable failed with error: %d\n",
+				ret);
+	}
 }
 
 static int imxfb_blank(int blank, struct fb_info *info)
@@ -1020,6 +1043,10 @@ static int imxfb_probe(struct platform_device *pdev)
 		goto failed_register;
 	}
 
+	fbi->reg_lcd = devm_regulator_get(&pdev->dev, "lcd");
+	if (IS_ERR(fbi->reg_lcd))
+		fbi->reg_lcd = NULL;
+
 	imxfb_enable_controller(fbi);
 	fbi->pdev = pdev;
 #ifdef PWMR_BACKLIGHT_AVAILABLE
-- 
1.7.9.5


WARNING: multiple messages have this Message-ID (diff)
From: denis@eukrea.com (Denis Carikli)
To: linux-arm-kernel@lists.infradead.org
Subject: [Patch v2][ 09/37] video: imxfb: Introduce regulator support.
Date: Thu, 17 Oct 2013 17:02:07 +0200	[thread overview]
Message-ID: <1382022155-21954-10-git-send-email-denis@eukrea.com> (raw)
In-Reply-To: <1382022155-21954-1-git-send-email-denis@eukrea.com>

This commit is based on the following commit by Fabio Estevam:
  4344429 video: mxsfb: Introduce regulator support

Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: linux-arm-kernel at lists.infradead.org
Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: linux-fbdev at vger.kernel.org
Cc: Eric B?nard <eric@eukrea.com>
Signed-off-by: Denis Carikli <denis@eukrea.com>
---
 drivers/video/imxfb.c |   27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/drivers/video/imxfb.c b/drivers/video/imxfb.c
index 44ee678..4dd7678 100644
--- a/drivers/video/imxfb.c
+++ b/drivers/video/imxfb.c
@@ -28,6 +28,7 @@
 #include <linux/cpufreq.h>
 #include <linux/clk.h>
 #include <linux/platform_device.h>
+#include <linux/regulator/consumer.h>
 #include <linux/dma-mapping.h>
 #include <linux/io.h>
 #include <linux/math64.h>
@@ -145,6 +146,7 @@ struct imxfb_info {
 	struct clk		*clk_ipg;
 	struct clk		*clk_ahb;
 	struct clk		*clk_per;
+	struct regulator	*reg_lcd;
 	enum imxfb_type		devtype;
 	bool			enabled;
 
@@ -563,12 +565,23 @@ static void imxfb_exit_backlight(struct imxfb_info *fbi)
 
 static void imxfb_enable_controller(struct imxfb_info *fbi)
 {
+	int ret;
 
 	if (fbi->enabled)
 		return;
 
 	pr_debug("Enabling LCD controller\n");
 
+	if (fbi->reg_lcd) {
+		ret = regulator_enable(fbi->reg_lcd);
+		if (ret) {
+			dev_err(&fbi->pdev->dev,
+				"lcd regulator enable failed with error: %d\n",
+				ret);
+			return;
+		}
+	}
+
 	writel(fbi->screen_dma, fbi->regs + LCDC_SSA);
 
 	/* panning offset 0 (0 pixel offset)        */
@@ -597,6 +610,8 @@ static void imxfb_enable_controller(struct imxfb_info *fbi)
 
 static void imxfb_disable_controller(struct imxfb_info *fbi)
 {
+	int ret;
+
 	if (!fbi->enabled)
 		return;
 
@@ -613,6 +628,14 @@ static void imxfb_disable_controller(struct imxfb_info *fbi)
 	fbi->enabled = false;
 
 	writel(0, fbi->regs + LCDC_RMCR);
+
+	if (fbi->reg_lcd) {
+		ret = regulator_disable(fbi->reg_lcd);
+		if (ret)
+			dev_err(&fbi->pdev->dev,
+				"lcd regulator disable failed with error: %d\n",
+				ret);
+	}
 }
 
 static int imxfb_blank(int blank, struct fb_info *info)
@@ -1020,6 +1043,10 @@ static int imxfb_probe(struct platform_device *pdev)
 		goto failed_register;
 	}
 
+	fbi->reg_lcd = devm_regulator_get(&pdev->dev, "lcd");
+	if (IS_ERR(fbi->reg_lcd))
+		fbi->reg_lcd = NULL;
+
 	imxfb_enable_controller(fbi);
 	fbi->pdev = pdev;
 #ifdef PWMR_BACKLIGHT_AVAILABLE
-- 
1.7.9.5

  parent reply	other threads:[~2013-10-17 15:02 UTC|newest]

Thread overview: 125+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-17 15:01 Devicetree support for Eukrea cpuimx{25,35,51} (v2) Denis Carikli
2013-10-17 15:02 ` [Patch v2][ 03/37] drm: Add the lacking DRM_MODE_FLAG_* for matching the DISPLAY_FLAGS_* Denis Carikli
2013-10-17 15:02   ` Denis Carikli
2013-10-17 15:02   ` Denis Carikli
2013-10-18  7:46   ` Ville Syrjälä
2013-10-18  7:46     ` Ville Syrjälä
2013-10-18  7:46     ` Ville Syrjälä
2013-10-23 14:48     ` Denis Carikli
2013-10-23 14:48       ` Denis Carikli
2013-10-23 14:48       ` Denis Carikli
2013-10-23 15:38       ` Ville Syrjälä
2013-10-23 15:38         ` Ville Syrjälä
2013-10-23 15:38         ` Ville Syrjälä
2013-10-23 15:47   ` Matt Sealey
2013-10-23 15:47     ` Matt Sealey
2013-10-23 15:47     ` Matt Sealey
2013-10-17 15:02 ` [Patch v2][ 04/37] [media] v4l2: add new V4L2_PIX_FMT_RGB666 pixel format Denis Carikli
2013-10-17 15:02   ` Denis Carikli
2013-10-17 15:02   ` Denis Carikli
2013-10-31 13:18   ` Mauro Carvalho Chehab
2013-10-31 13:18     ` Mauro Carvalho Chehab
2013-10-31 13:18     ` Mauro Carvalho Chehab
2013-10-31 14:06     ` Laurent Pinchart
2013-10-31 14:06       ` Laurent Pinchart
2013-10-31 14:06       ` Laurent Pinchart
2013-10-31 14:06       ` Laurent Pinchart
2013-10-17 15:02 ` [Patch v2][ 05/37] fbdev: Add the lacking FB_SYNC_* for matching the DISPLAY_FLAGS_* Denis Carikli
2013-10-17 15:02   ` Denis Carikli
2013-10-17 15:02   ` Denis Carikli
2013-10-19 11:08   ` Jean-Christophe PLAGNIOL-VILLARD
2013-10-19 11:08     ` Jean-Christophe PLAGNIOL-VILLARD
2013-10-19 11:08     ` Jean-Christophe PLAGNIOL-VILLARD
2013-10-17 15:02 ` [Patch v2][ 07/37] video: mx3fb: Introduce regulator support Denis Carikli
2013-10-17 15:02   ` Denis Carikli
2013-10-19 11:08   ` Jean-Christophe PLAGNIOL-VILLARD
2013-10-19 11:08     ` Jean-Christophe PLAGNIOL-VILLARD
2013-10-17 15:02 ` Denis Carikli [this message]
2013-10-17 15:02   ` [Patch v2][ 09/37] video: imxfb: " Denis Carikli
2013-10-17 15:02 ` [Patch v2][ 11/37] staging: imx-drm: use of_get_display_timings Denis Carikli
2013-10-17 15:02   ` Denis Carikli
2013-10-18  6:46   ` Sascha Hauer
2013-10-18  6:46     ` Sascha Hauer
2013-10-18  6:46     ` Sascha Hauer
2013-10-17 15:02 ` [Patch v2][ 12/37] staging: imx-drm: ipuv3-crtc: don't harcode some mode flags Denis Carikli
2013-10-17 15:02   ` Denis Carikli
2013-10-17 15:02 ` [Patch v2][ 13/37] staging: imx-drm: Add RGB666 support for parallel display Denis Carikli
2013-10-17 15:02   ` Denis Carikli
2013-10-17 15:02   ` Denis Carikli
2013-10-31 13:18   ` Mauro Carvalho Chehab
2013-10-31 13:18     ` Mauro Carvalho Chehab
2013-10-17 15:02 ` [Patch v2][ 14/37] staging: imx-drm: parallel display: add regulator support Denis Carikli
2013-10-17 15:02   ` Denis Carikli
2013-10-17 15:02   ` Denis Carikli
2013-10-17 16:47   ` Dan Carpenter
2013-10-17 16:47     ` Dan Carpenter
2013-10-17 16:47     ` Dan Carpenter
2013-10-17 15:02 ` [Patch v2][ 15/37] Input: tsc2007: Add device tree support Denis Carikli
2013-10-17 15:02   ` Denis Carikli
2013-10-18  8:36   ` Lothar Waßmann
2013-10-18  8:36     ` Lothar Waßmann
     [not found] ` <1382022155-21954-1-git-send-email-denis-fO0SIAKYzcbQT0dZR+AlfA@public.gmane.org>
2013-10-17 15:01   ` [Patch v2][ 01/37] of: add vendor prefix for Eukréa Electromatique Denis Carikli
2013-10-17 15:01     ` Denis Carikli
2013-10-17 15:02   ` [Patch v2][ 02/37] dma: ipu: Add devicetree support Denis Carikli
2013-10-17 15:02     ` Denis Carikli
     [not found]     ` <1382022155-21954-3-git-send-email-denis-fO0SIAKYzcbQT0dZR+AlfA@public.gmane.org>
2013-10-18  6:42       ` Sascha Hauer
2013-10-18  6:42         ` Sascha Hauer
2013-10-17 15:02   ` [Patch v2][ 06/37] video: backlight: gpio-backlight: Add DT support Denis Carikli
2013-10-17 15:02     ` Denis Carikli
2013-10-17 15:02   ` [Patch v2][ 08/37] video: mx3fb: Add device tree suport Denis Carikli
2013-10-17 15:02     ` Denis Carikli
2013-10-17 15:02     ` Denis Carikli
2013-10-19 11:04     ` Jean-Christophe PLAGNIOL-VILLARD
2013-10-19 11:04       ` Jean-Christophe PLAGNIOL-VILLARD
2013-10-19 11:04       ` Jean-Christophe PLAGNIOL-VILLARD
     [not found]       ` <20131019110459.GM18477-HVbc7XotTAhnXn40ka+A6Q@public.gmane.org>
2013-10-21  8:03         ` Sascha Hauer
2013-10-21  8:03           ` Sascha Hauer
2013-10-21  8:03           ` Sascha Hauer
2013-10-17 15:02   ` [Patch v2][ 10/37] video: imxfb: Also add pwmr for the device tree Denis Carikli
2013-10-17 15:02     ` Denis Carikli
2013-10-17 15:02     ` Denis Carikli
     [not found]     ` <1382022155-21954-11-git-send-email-denis-fO0SIAKYzcbQT0dZR+AlfA@public.gmane.org>
2013-10-19 10:57       ` Jean-Christophe PLAGNIOL-VILLARD
2013-10-19 10:57         ` Jean-Christophe PLAGNIOL-VILLARD
2013-10-19 10:57         ` Jean-Christophe PLAGNIOL-VILLARD
2013-10-17 15:02   ` [Patch v2][ 16/37] ASoC: eukrea-tlv320: Add DT support Denis Carikli
2013-10-17 15:02     ` Denis Carikli
     [not found]     ` <1382022155-21954-17-git-send-email-denis-fO0SIAKYzcbQT0dZR+AlfA@public.gmane.org>
2013-10-18  9:19       ` Lothar Waßmann
2013-10-18  9:19         ` Lothar Waßmann
2013-10-17 15:02   ` [Patch v2][ 17/37] DT: Add basic support for imx35-based devices Denis Carikli
2013-10-17 15:02     ` Denis Carikli
     [not found]     ` <1382022155-21954-18-git-send-email-denis-fO0SIAKYzcbQT0dZR+AlfA@public.gmane.org>
2013-10-18  6:58       ` Sascha Hauer
2013-10-18  6:58         ` Sascha Hauer
2013-10-17 15:02   ` [Patch v2][ 18/37] ARM: imx{25,27} DT: Permit the selection of the imxfb framebuffer driver Denis Carikli
2013-10-17 15:02     ` [Patch v2][ 18/37] ARM: imx{25, 27} " Denis Carikli
2013-10-17 15:02   ` [Patch v2][ 19/37] pinctrl: pinctrl-imx: add imx25 pinctrl driver Denis Carikli
2013-10-17 15:02     ` Denis Carikli
2013-10-17 15:02   ` [Patch v2][ 20/37] arm/dts: imx25.dtsi: Add some pinmux pins Denis Carikli
2013-10-17 15:02     ` Denis Carikli
     [not found]     ` <1382022155-21954-21-git-send-email-denis-fO0SIAKYzcbQT0dZR+AlfA@public.gmane.org>
2013-10-18  7:02       ` Sascha Hauer
2013-10-18  7:02         ` Sascha Hauer
2013-10-17 15:02   ` [Patch v2][ 21/37] arm/dts: i.MX25: Add ssi clocks and DMA events Denis Carikli
2013-10-17 15:02     ` Denis Carikli
2013-10-17 15:02   ` [Patch v2][ 22/37] arm/dts: i.MX25: Add sdma script path Denis Carikli
2013-10-17 15:02     ` Denis Carikli
2013-10-17 15:02   ` [Patch v2][ 23/37] arm/dts: imx25.dtsi: Add an alias for the Audio Multiplexer Denis Carikli
2013-10-17 15:02     ` Denis Carikli
2013-10-17 15:02   ` [Patch v2][ 24/37] arm/dts: Add support for the cpuimx25 board from Eukrea and its baseboard Denis Carikli
2013-10-17 15:02     ` Denis Carikli
2013-10-17 15:02   ` [Patch v2][ 25/37] arm/dts: imx51.dtsi: Add some pinmux pins Denis Carikli
2013-10-17 15:02     ` Denis Carikli
2013-10-17 15:02   ` [Patch v2][ 26/37] arm/dts: Add support for the cpuimx51 board from Eukrea and its baseboard Denis Carikli
2013-10-17 15:02     ` Denis Carikli
2013-10-17 15:02   ` [Patch v2][ 27/37] arm/dts: Add support for the cpuimx35 " Denis Carikli
2013-10-17 15:02     ` Denis Carikli
2013-10-17 15:02 ` [Patch v2][ 28/37] ARM: imx_v6_v7_defconfig: Enable i.MX35 DT support Denis Carikli
2013-10-18  8:23   ` Shawn Guo
2013-10-17 15:02 ` [Patch v2][ 29/37] ARM: imx_v6_v7_defconfig: Enable tsc2007 support Denis Carikli
2013-10-17 15:02 ` [Patch v2][ 30/37] ARM: imx_v6_v7_defconfig: Enable pcf8563 support Denis Carikli
2013-10-17 15:02 ` [Patch v2][ 31/37] ARM: imx_v6_v7_defconfig: Enable gpio regulator support Denis Carikli
2013-10-17 15:02 ` [Patch v2][ 32/37] ARM: imx_v4_v5_defconfig: " Denis Carikli
2013-10-17 15:02 ` [Patch v2][ 33/37] ARM: imx_v4_v5_defconfig: Enable backlight gpio support Denis Carikli
2013-10-17 15:02 ` [Patch v2][ 34/37] ARM: imx_v6_v7_defconfig: " Denis Carikli
2013-10-17 15:02 ` [Patch v2][ 35/37] ARM: imx_v4_v5_defconfig: Enable gpio button/keyboard support Denis Carikli
2013-10-17 15:02 ` [Patch v2][ 36/37] ARM: imx_v6_v7_defconfig: Enable led gpio support Denis Carikli
2013-10-17 15:02 ` [Patch v2][ 37/37] ARM: imx_v6_v7_defconfig: Enable heartbeat led trigger Denis Carikli
2013-10-18  7:59 ` Devicetree support for Eukrea cpuimx{25,35,51} (v2) Sascha Hauer

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=1382022155-21954-10-git-send-email-denis@eukrea.com \
    --to=denis@eukrea.com \
    --cc=linux-arm-kernel@lists.infradead.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.