Skip to contentSkip to conversation

ARM: pxa: Add dummy backlight power supply on Mitac Mio A701

PATCH New Thierry Reding 3 participants 7 messages Dec 20, 2013 – Feb 11, 2014

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ARM: pxa: Add dummy backlight power supply on Mitac Mio A701

Recent changes to the pwm-backlight driver have made the power supply mandatory. There is code in the regulator core to deal with situations where no regulator is specified and provide a dummy, but that works on DT-based boards only.

The situation can be remedied by adding a dummy regulator during board initialization.

---
 arch/arm/mach-pxa/mioa701.c | 9 +++++++++
 1 file changed, 9 insertions(+)
arch/arm/mach-pxa/mioa701.c +9 -0
index f70583fee59f..29997bde277d 100644
@@ -38,6 +38,7 @@
 #include <linux/mtd/physmap.h>
 #include <linux/usb/gpio_vbus.h>
 #include <linux/reboot.h>
+#include <linux/regulator/fixed.h>
 #include <linux/regulator/max1586.h>
 #include <linux/slab.h>
 #include <linux/i2c/pxa-i2c.h>
@@ -714,6 +715,10 @@ static struct gpio global_gpios[] = {
 	{ GPIO56_MT9M111_nOE, GPIOF_OUT_INIT_LOW, "Camera nOE" },
 };
 
+static struct regulator_consumer_supply fixed_5v0_consumers[] = {
+	REGULATOR_SUPPLY("power", "pwm-backlight"),
+};
+
 static void __init mioa701_machine_init(void)
 {
 	int rc;
@@ -753,6 +758,10 @@ static void __init mioa701_machine_init(void)
 	pxa_set_i2c_info(&i2c_pdata);
 	pxa27x_set_i2c_power_info(NULL);
 	pxa_set_camera_info(&mioa701_pxacamera_platform_data);
+
+	regulator_register_always_on(0, "fixed-5.0V", fixed_5v0_consumers,
+				     ARRAY_SIZE(fixed_5v0_consumers),
+				     5000000);
 }
 
 static void mioa701_machine_exit(void)
Signature · 1 line
1.8.4.2
maintainer
#1 lore raw

PATCH 1/1 ARM: pxa: Add dummy backlight power supply on Mitac Mio A701

Hi guys,

I think this kind of patch [1] should end up in your machine files too, as it impacts all machines not relying on devicetree.

Moreover, your defconfig should be amended, adding CONFIG_REGULATOR_FIXED_VOLTAGE=y.

So far these are the files I think should be checked :
rj at beldin:~/mio_linux/kernel$ for f in $(grep -l pwm-backlight arch/arm/mach-*/*.c); do echo $f; done
arch/arm/mach-pxa/cm-x300.c
arch/arm/mach-pxa/colibri-pxa270-income.c
arch/arm/mach-pxa/ezx.c
arch/arm/mach-pxa/hx4700.c
arch/arm/mach-pxa/lpd270.c
arch/arm/mach-pxa/magician.c
arch/arm/mach-pxa/mainstone.c
arch/arm/mach-pxa/mioa701.c
arch/arm/mach-pxa/palm27x.c
arch/arm/mach-pxa/palmtc.c
arch/arm/mach-pxa/palmte2.c
arch/arm/mach-pxa/pcm990-baseboard.c
arch/arm/mach-pxa/raumfeld.c
arch/arm/mach-pxa/tavorevb.c
arch/arm/mach-pxa/viper.c
arch/arm/mach-pxa/z2.c
arch/arm/mach-pxa/zylonite.c
arch/arm/mach-s3c24xx/mach-h1940.c
arch/arm/mach-s3c24xx/mach-rx1950.c
arch/arm/mach-s3c64xx/mach-crag6410.c
arch/arm/mach-s3c64xx/mach-hmt.c
arch/arm/mach-s3c64xx/mach-smartq.c
arch/arm/mach-shmobile/board-armadillo800eva.c

Cheers.

--
Robert

[1] Thierry's patch

Quoted 48 lines · Thierry Reding

Recent changes to the pwm-backlight driver have made the power supply mandatory. There is code in the regulator core to deal with situations where no regulator is specified and provide a dummy, but that works on DT-based boards only.

The situation can be remedied by adding a dummy regulator during board initialization.

---
 arch/arm/mach-pxa/mioa701.c | 9 +++++++++
 1 file changed, 9 insertions(+)
arch/arm/mach-pxa/mioa701.c +9 -0
index f70583fee59f..29997bde277d 100644
@@ -38,6 +38,7 @@
 #include <linux/mtd/physmap.h>
 #include <linux/usb/gpio_vbus.h>
 #include <linux/reboot.h>
+#include <linux/regulator/fixed.h>
 #include <linux/regulator/max1586.h>
 #include <linux/slab.h>
 #include <linux/i2c/pxa-i2c.h>
@@ -714,6 +715,10 @@ static struct gpio global_gpios[] = {
 	{ GPIO56_MT9M111_nOE, GPIOF_OUT_INIT_LOW, "Camera nOE" },
 };
 
+static struct regulator_consumer_supply fixed_5v0_consumers[] = {
+	REGULATOR_SUPPLY("power", "pwm-backlight"),
+};
+
 static void __init mioa701_machine_init(void)
 {
 	int rc;
@@ -753,6 +758,10 @@ static void __init mioa701_machine_init(void)
 	pxa_set_i2c_info(&i2c_pdata);
 	pxa27x_set_i2c_power_info(NULL);
 	pxa_set_camera_info(&mioa701_pxacamera_platform_data);
+
+	regulator_register_always_on(0, "fixed-5.0V", fixed_5v0_consumers,
+				     ARRAY_SIZE(fixed_5v0_consumers),
+				     5000000);
 }
 
 static void mioa701_machine_exit(void)
maintainer
#2 lore raw

PATCH 1/1 ARM: pxa: Add dummy backlight power supply on Mitac Mio A701

In reply to Thierry Reding
Quoted 7 lines · Thierry Reding

Recent changes to the pwm-backlight driver have made the power supply mandatory. There is code in the regulator core to deal with situations where no regulator is specified and provide a dummy, but that works on DT-based boards only.

The situation can be remedied by adding a dummy regulator during board initialization.

Haojian, ping ?
We're at -rc7 and I've seen no pull of this fix. As the display is broken without it, I'd really like to have it fixed for v3.13.

Cheers.

--
Robert

maintainer
#3 lore raw

PATCH 1/1 ARM: pxa: Add dummy backlight power supply on Mitac Mio A701

Hi Arnd,

I cannot reach Haojian, and my platform is currently screen-broken without Thierry's patch (see [1] and [2]). I'm trying to have it since -rc6, with no luck.

Could you handle it in arm-soc fixes for -rc9 (if it happens) please ?

Cheers.

--
Robert

[1] http://www.spinics.net/lists/arm-kernel/msg298187.html
[2] Patch :

Quoted 1 line

From 7ca9a136dc67ac4c302b15a333e8cfa1c3fc051b Mon Sep 17 00:00:00 2001

From: Thierry Reding <[email protected]>
Date: Fri, 20 Dec 2013 10:46:52 +0100
Subject: [PATCH] ARM: pxa: Add dummy backlight power supply on Mitac Mio A701

Recent changes to the pwm-backlight driver have made the power supply mandatory. There is code in the regulator core to deal with situations where no regulator is specified and provide a dummy, but that works on DT-based boards only.

The situation can be remedied by adding a dummy regulator during board initialization.

---
 arch/arm/mach-pxa/mioa701.c |    9 +++++++++
 1 file changed, 9 insertions(+)
arch/arm/mach-pxa/mioa701.c +9 -0
index c2d8625..a8fdcb7 100644
@@ -38,6 +38,7 @@
 #include <linux/mtd/physmap.h>
 #include <linux/usb/gpio_vbus.h>
 #include <linux/reboot.h>
+#include <linux/regulator/fixed.h>
 #include <linux/regulator/max1586.h>
 #include <linux/slab.h>
 #include <linux/i2c/pxa-i2c.h>
@@ -723,6 +724,10 @@ static struct gpio global_gpios[] = {
 	{ GPIO56_MT9M111_nOE, GPIOF_OUT_INIT_LOW, "Camera nOE" },
 };
 
+static struct regulator_consumer_supply fixed_5v0_consumers[] = {
+	REGULATOR_SUPPLY("power", "pwm-backlight"),
+};
+
 static void __init mioa701_machine_init(void)
 {
 	int rc;
@@ -762,6 +767,10 @@ static void __init mioa701_machine_init(void)
 	pxa_set_i2c_info(&i2c_pdata);
 	pxa27x_set_i2c_power_info(NULL);
 	pxa_set_camera_info(&mioa701_pxacamera_platform_data);
+
+	regulator_register_always_on(0, "fixed-5.0V", fixed_5v0_consumers,
+				     ARRAY_SIZE(fixed_5v0_consumers),
+				     5000000);
 }
 
 static void mioa701_machine_exit(void)
Signature · 1 line
1.7.10.4
maintainer
#4 lore raw

PATCH 1/1 ARM: pxa: Add dummy backlight power supply on Mitac Mio A701

Quoted 11 lines · Robert Jarzmik

Hi Arnd,

I cannot reach Haojian, and my platform is currently screen-broken without Thierry's patch (see [1] and [2]). I'm trying to have it since -rc6, with no luck.

Could you handle it in arm-soc fixes for -rc9 (if it happens) please ?

Cheers.

--
Robert

OK, so my platform is broken in 3.13, so be it.
What now ? Do you have a backup for such cases ?

--
Robert

maintainer
#5 lore raw

PATCH 1/1 ARM: pxa: Add dummy backlight power supply on Mitac Mio A701

Quoted 4 lines · Robert Jarzmik
Quoted 4 lines

Hi Arnd,

I cannot reach Haojian, and my platform is currently screen-broken without Thierry's patch (see [1] and [2]). I'm trying to have it since -rc6, with no luck.

... zip ...

Hi Eric and Russell,

Since more than a month I've been trying to have a fix applied in the PXA tree, since v3.13-rc6. I cannot reach Haojian, and Arnd seems unresponsive too.

The history mails are in [1], the patch in [2].

Your are the 2 other maintainers of the PXA tree, Could you please help me ?

Cheers.

--
Robert

[1]
http://lists.infradead.org/pipermail/linux-arm-kernel/2014-January/223116.html

[2]
http://lists.infradead.org/pipermail/linux-arm-kernel/2013-December/221013.html

---8>---

From: Thierry Reding <[email protected]>
Subject: [PATCH] ARM: pxa: Add dummy backlight power supply on Mitac Mio A701
To: Haojian Zhuang <[email protected]>, Robert Jarzmik <[email protected]>
Cc: linux-pwm at vger.kernel.org, linux-arm-kernel at lists.infradead.org
Date: Fri, 20 Dec 2013 10:46:52 +0100 (6 weeks, 1 day, 8 hours ago)
Message-Id: <[email protected]>
X-Mailer: git-send-email 1.8.4.2

Recent changes to the pwm-backlight driver have made the power supply mandatory. There is code in the regulator core to deal with situations where no regulator is specified and provide a dummy, but that works on DT-based boards only.

The situation can be remedied by adding a dummy regulator during board initialization.

---
 arch/arm/mach-pxa/mioa701.c | 9 +++++++++
 1 file changed, 9 insertions(+)
arch/arm/mach-pxa/mioa701.c +9 -0
index f70583fee59f..29997bde277d 100644
@@ -38,6 +38,7 @@
 #include <linux/mtd/physmap.h>
 #include <linux/usb/gpio_vbus.h>
 #include <linux/reboot.h>
+#include <linux/regulator/fixed.h>
 #include <linux/regulator/max1586.h>
 #include <linux/slab.h>
 #include <linux/i2c/pxa-i2c.h>
@@ -714,6 +715,10 @@ static struct gpio global_gpios[] = {
 	{ GPIO56_MT9M111_nOE, GPIOF_OUT_INIT_LOW, "Camera nOE" },
 };
 
+static struct regulator_consumer_supply fixed_5v0_consumers[] = {
+	REGULATOR_SUPPLY("power", "pwm-backlight"),
+};
+
 static void __init mioa701_machine_init(void)
 {
 	int rc;
@@ -753,6 +758,10 @@ static void __init mioa701_machine_init(void)
 	pxa_set_i2c_info(&i2c_pdata);
 	pxa27x_set_i2c_power_info(NULL);
 	pxa_set_camera_info(&mioa701_pxacamera_platform_data);
+
+	regulator_register_always_on(0, "fixed-5.0V", fixed_5v0_consumers,
+				     ARRAY_SIZE(fixed_5v0_consumers),
+				     5000000);
 }
 
 static void mioa701_machine_exit(void)
Signature · 1 line
1.8.4.2
maintainer
#6 lore raw

PATCH 1/1 ARM: pxa: Add dummy backlight power supply on Mitac Mio A701

Quoted 77 lines · Robert Jarzmik
Quoted 4 lines · Robert Jarzmik
Quoted 4 lines

Hi Arnd,

I cannot reach Haojian, and my platform is currently screen-broken without Thierry's patch (see [1] and [2]). I'm trying to have it since -rc6, with no luck.

... zip ...

Hi Eric and Russell,

Since more than a month I've been trying to have a fix applied in the PXA tree, since v3.13-rc6. I cannot reach Haojian, and Arnd seems unresponsive too.

The history mails are in [1], the patch in [2].

Your are the 2 other maintainers of the PXA tree, Could you please help me ?

Cheers.

--
Robert

[1]
http://lists.infradead.org/pipermail/linux-arm-kernel/2014-January/223116.html

[2]
http://lists.infradead.org/pipermail/linux-arm-kernel/2013-December/221013.html

---8>---

From: Thierry Reding <[email protected]>
Subject: [PATCH] ARM: pxa: Add dummy backlight power supply on Mitac Mio A701
To: Haojian Zhuang <[email protected]>, Robert Jarzmik <[email protected]>
Cc: linux-pwm at vger.kernel.org, linux-arm-kernel at lists.infradead.org
Date: Fri, 20 Dec 2013 10:46:52 +0100 (6 weeks, 1 day, 8 hours ago)
Message-Id: <[email protected]>
X-Mailer: git-send-email 1.8.4.2

Recent changes to the pwm-backlight driver have made the power supply mandatory. There is code in the regulator core to deal with situations where no regulator is specified and provide a dummy, but that works on DT-based boards only.

The situation can be remedied by adding a dummy regulator during board initialization.

---
  arch/arm/mach-pxa/mioa701.c | 9 +++++++++
  1 file changed, 9 insertions(+)
arch/arm/mach-pxa/mioa701.c +5 -0
index f70583fee59f..29997bde277d 100644
@@ -38,6 +38,7 @@
  #include <linux/mtd/physmap.h>
  #include <linux/usb/gpio_vbus.h>
  #include <linux/reboot.h>
+#include <linux/regulator/fixed.h>
  #include <linux/regulator/max1586.h>
  #include <linux/slab.h>
  #include <linux/i2c/pxa-i2c.h>
@@ -714,6 +715,10 @@ static struct gpio global_gpios[] = {
  	{ GPIO56_MT9M111_nOE, GPIOF_OUT_INIT_LOW, "Camera nOE" },
  };
 
+static struct regulator_consumer_supply fixed_5v0_consumers[] = {
+	REGULATOR_SUPPLY("power", "pwm-backlight"),
+};
+
  static void __init mioa701_machine_init(void)
  {
  	int rc;

arch/arm/mach-pxa/mioa701.c static void __init mioa701_machine_init(void) · line 767

Quoted 10 lines
arch/arm/mach-pxa/mioa701.c +4 -0
@@ -753,6 +758,10 @@ static void __init mioa701_machine_init(void)
  	pxa_set_i2c_info(&i2c_pdata);
  	pxa27x_set_i2c_power_info(NULL);
  	pxa_set_camera_info(&mioa701_pxacamera_platform_data);
+
+	regulator_register_always_on(0, "fixed-5.0V", fixed_5v0_consumers,
+				     ARRAY_SIZE(fixed_5v0_consumers),
+				     5000000);
  }
 
  static void mioa701_machine_exit(void)

Hi Robert,

Excuse me to response late. Now it's applied.

Regards
Haojian