# \[PATCH 1/2\] OMAPDSS: TPO-TD03MTEA1: Check for errors from regulator\_enable()

- Subsystems: FRAMEBUFFER LAYER, THE REST
- Maintainers: Helge Deller, Linus Torvalds
- List: linux-fbdev
- 5 messages, 3 authors
- Page: https://ratatoskr.run/linux-fbdev/2012/03/13462828/t

## \[PATCH 1/2\] OMAPDSS: TPO-TD03MTEA1: Check for errors from regulator\_enable()

- From: Mark Brown \<hidden\>
- Date: 2012-03-19 15:02:31 
- Message: https://ratatoskr.run/linux-fbdev/2012/03/13462828.md

```text
It is possible for regulator_enable() to fail and if it does fail that's
generally a bad sign for anything we try to do with the hardware afterwards
so check for and immediately return an error if regulator_enable() fails.

Signed-off-by: Mark Brown <redacted>
---
 .../video/omap2/displays/panel-tpo-td043mtea1.c    |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/drivers/video/omap2/displays/panel-tpo-td043mtea1.c b/drivers/video/omap2/displays/panel-tpo-td043mtea1.c
index 32f3fcd..74c6b87 100644
--- a/drivers/video/omap2/displays/panel-tpo-td043mtea1.c
+++ b/drivers/video/omap2/displays/panel-tpo-td043mtea1.c
@@ -272,11 +272,14 @@ static const struct omap_video_timings tpo_td043_timings = {
 static int tpo_td043_power_on(struct tpo_td043_device *tpo_td043)
 {
 	int nreset_gpio = tpo_td043->nreset_gpio;
+	int r;
 
 	if (tpo_td043->powered_on)
 		return 0;
 
-	regulator_enable(tpo_td043->vcc_reg);
+	r = regulator_enable(tpo_td043->vcc_reg);
+	if (r != 0)
+		return r;
 
 	/* wait for regulator to stabilize */
 	msleep(160);
-- 
1.7.9.1

```

## \[PATCH 2/2\] OMAPDSS: TPO-TD03MTEA1: Correct comment for power on delay

- From: Mark Brown \<hidden\>
- Date: 2012-03-19 15:02:32 
- Message: https://ratatoskr.run/linux-fbdev/2012/03/13462854.md

```text
Since any power on stabilisation delay for the supply itself should be
taken care of transparently by the regulator API when the regulator is
enabled the additional delay that the TPO-TD03MTEA1 driver adds after
that returned should be due to the requirements of the device itself
rather than the supply (the delay is also suspicously long for one for
a regulator to ramp). Correct the comment to avoid misleading people
taking this code as a reference.

Signed-off-by: Mark Brown <redacted>
---
 .../video/omap2/displays/panel-tpo-td043mtea1.c    |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/video/omap2/displays/panel-tpo-td043mtea1.c b/drivers/video/omap2/displays/panel-tpo-td043mtea1.c
index 74c6b87..987cb84 100644
--- a/drivers/video/omap2/displays/panel-tpo-td043mtea1.c
+++ b/drivers/video/omap2/displays/panel-tpo-td043mtea1.c
@@ -281,7 +281,7 @@ static int tpo_td043_power_on(struct tpo_td043_device *tpo_td043)
 	if (r != 0)
 		return r;
 
-	/* wait for regulator to stabilize */
+	/* wait for panel to stabilize */
 	msleep(160);
 
 	if (gpio_is_valid(nreset_gpio))
-- 
1.7.9.1

```

## Re: \[PATCH 1/2\] OMAPDSS: TPO-TD03MTEA1: Check for errors from regulator\_enable()

- From: Grazvydas Ignotas \<hidden\>
- Date: 2012-03-19 16:01:56 
- Message: https://ratatoskr.run/linux-fbdev/2012/03/13462829.md

```text
On Mon, Mar 19, 2012 at 5:02 PM, Mark Brown
[ref] wrote:
> It is possible for regulator_enable() to fail and if it does fail that's
> generally a bad sign for anything we try to do with the hardware afterwards
> so check for and immediately return an error if regulator_enable() fails.
>
> Signed-off-by: Mark Brown <redacted>
> ---
>  .../video/omap2/displays/panel-tpo-td043mtea1.c    |    5 ++++-
>  1 files changed, 4 insertions(+), 1 deletions(-)
>

FWIW:
Acked-by: Grazvydas Ignotas <redacted>

-- 
Gražvydas
```

## Re: \[PATCH 2/2\] OMAPDSS: TPO-TD03MTEA1: Correct comment for power on delay

- From: Grazvydas Ignotas \<hidden\>
- Date: 2012-03-19 16:06:19 
- Message: https://ratatoskr.run/linux-fbdev/2012/03/13462855.md

```text
On Mon, Mar 19, 2012 at 5:02 PM, Mark Brown
[ref] wrote:
> Since any power on stabilisation delay for the supply itself should be
> taken care of transparently by the regulator API when the regulator is
> enabled the additional delay that the TPO-TD03MTEA1 driver adds after
> that returned should be due to the requirements of the device itself
> rather than the supply (the delay is also suspicously long for one for
> a regulator to ramp).

True, it came from panel's datasheet which asks to wait for ">10ms + 7
vsyncs" after tuning on the supply and before switching the control
signal.

> Correct the comment to avoid misleading people
> taking this code as a reference.
>
> Signed-off-by: Mark Brown <redacted>
> ---
>  .../video/omap2/displays/panel-tpo-td043mtea1.c    |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)

FWIW:
Acked-by: Grazvydas Ignotas <redacted>


-- 
Gražvydas
```

## Re: \[PATCH 1/2\] OMAPDSS: TPO-TD03MTEA1: Check for errors from regulator\_enable()

- From: Tomi Valkeinen \<hidden\>
- Date: 2012-03-21 12:50:00 
- Message: https://ratatoskr.run/linux-fbdev/2012/03/13462830.md

```text
On Mon, 2012-03-19 at 15:02 +0000, Mark Brown wrote:
> It is possible for regulator_enable() to fail and if it does fail that's
> generally a bad sign for anything we try to do with the hardware afterwards
> so check for and immediately return an error if regulator_enable() fails.
> 
> Signed-off-by: Mark Brown <redacted>
> ---
>  .../video/omap2/displays/panel-tpo-td043mtea1.c    |    5 ++++-
>  1 files changed, 4 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/video/omap2/displays/panel-tpo-td043mtea1.c b/drivers/video/omap2/displays/panel-tpo-td043mtea1.c
> index 32f3fcd..74c6b87 100644
> --- a/drivers/video/omap2/displays/panel-tpo-td043mtea1.c
> +++ b/drivers/video/omap2/displays/panel-tpo-td043mtea1.c
> @@ -272,11 +272,14 @@ static const struct omap_video_timings tpo_td043_timings = {
>  static int tpo_td043_power_on(struct tpo_td043_device *tpo_td043)
>  {
>  	int nreset_gpio = tpo_td043->nreset_gpio;
> +	int r;
>  
>  	if (tpo_td043->powered_on)
>  		return 0;
>  
> -	regulator_enable(tpo_td043->vcc_reg);
> +	r = regulator_enable(tpo_td043->vcc_reg);
> +	if (r != 0)
> +		return r;
>  
>  	/* wait for regulator to stabilize */
>  	msleep(160);

Thanks, I'll apply this series to omapdss tree.

 Tomi

```
