linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] Documentation: dt-bindings: Use generic property for hardware enable pins
@ 2017-02-28  7:50 Milo Kim
  2017-02-28  7:50 ` [PATCH 2/2] regulator: lm363x: Use generic DT property name for external control pins Milo Kim
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Milo Kim @ 2017-02-28  7:50 UTC (permalink / raw)
  To: Mark Brown, Rob Herring; +Cc: devicetree, linux-kernel, Milo Kim

With index usages, device specific properties can be replaced with generic
one. Vpos is index 0 and Vneg is index 1.
DT examples are added as well.

Signed-off-by: Milo Kim <milo.kim@ti.com>
---
 .../bindings/regulator/lm363x-regulator.txt        | 78 +++++++++++++++++++++-
 1 file changed, 76 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/regulator/lm363x-regulator.txt b/Documentation/devicetree/bindings/regulator/lm363x-regulator.txt
index 8f14df9d1205..cc5a6151d85f 100644
--- a/Documentation/devicetree/bindings/regulator/lm363x-regulator.txt
+++ b/Documentation/devicetree/bindings/regulator/lm363x-regulator.txt
@@ -8,8 +8,8 @@ Required property:
 
 Optional properties:
   LM3632 has external enable pins for two LDOs.
-  - ti,lcm-en1-gpio: A GPIO specifier for Vpos control pin.
-  - ti,lcm-en2-gpio: A GPIO specifier for Vneg control pin.
+  - enable-gpios: Two GPIO specifiers for Vpos and Vneg control pins.
+                  The first entry is Vpos, the second is Vneg enable pin.
 
 Child nodes:
   LM3631
@@ -30,5 +30,79 @@ Child nodes:
 
 Examples: Please refer to ti-lmu dt-bindings [2].
 
+lm3631@29 {
+	compatible = "ti,lm3631";
+	reg = <0x29>;
+
+	regulators {
+		compatible = "ti,lm363x-regulator";
+
+		vboost {
+			regulator-name = "lcd_boost";
+			regulator-min-microvolt = <4500000>;
+			regulator-max-microvolt = <6350000>;
+			regulator-always-on;
+		};
+
+		vcont {
+			regulator-name = "lcd_vcont";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <3300000>;
+		};
+
+		voref {
+			regulator-name = "lcd_voref";
+			regulator-min-microvolt = <4000000>;
+			regulator-max-microvolt = <6000000>;
+		};
+
+		vpos {
+			regulator-name = "lcd_vpos";
+			regulator-min-microvolt = <4000000>;
+			regulator-max-microvolt = <6000000>;
+			regulator-boot-on;
+		};
+
+		vneg {
+			regulator-name = "lcd_vneg";
+			regulator-min-microvolt = <4000000>;
+			regulator-max-microvolt = <6000000>;
+			regulator-boot-on;
+		};
+	};
+};
+
+lm3632@11 {
+	compatible = "ti,lm3632";
+	reg = <0x11>;
+
+	regulators {
+		compatible = "ti,lm363x-regulator";
+
+		/* GPIO1_16 for Vpos, GPIO1_28 is for Vneg */
+		enable-gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>,
+				<&gpio1 28 GPIO_ACTIVE_HIGH>;
+
+		vboost {
+			regulator-name = "lcd_boost";
+			regulator-min-microvolt = <4500000>;
+			regulator-max-microvolt = <6400000>;
+			regulator-always-on;
+		};
+
+		vpos {
+			regulator-name = "lcd_vpos";
+			regulator-min-microvolt = <4000000>;
+			regulator-max-microvolt = <6000000>;
+		};
+
+		vneg {
+			regulator-name = "lcd_vneg";
+			regulator-min-microvolt = <4000000>;
+			regulator-max-microvolt = <6000000>;
+		};
+	};
+};
+
 [1] ../regulator/regulator.txt
 [2] ../mfd/ti-lmu.txt
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/2] regulator: lm363x: Use generic DT property name for external control pins
  2017-02-28  7:50 [PATCH 1/2] Documentation: dt-bindings: Use generic property for hardware enable pins Milo Kim
@ 2017-02-28  7:50 ` Milo Kim
  2017-03-07 14:21   ` Applied "regulator: lm363x: Use generic DT property name for external control pins" to the regulator tree Mark Brown
  2017-03-03  6:21 ` [PATCH 1/2] Documentation: dt-bindings: Use generic property for hardware enable pins Rob Herring
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: Milo Kim @ 2017-02-28  7:50 UTC (permalink / raw)
  To: Mark Brown, Rob Herring; +Cc: devicetree, linux-kernel, Milo Kim

Vpos and Vneg LDOs can be enabled or disabled by external GPIOs.
Use general DT property 'enable-gpios' for this usage.
Two enable pins are differentiable by selecting the index number.

Signed-off-by: Milo Kim <milo.kim@ti.com>
---
 drivers/regulator/lm363x-regulator.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/regulator/lm363x-regulator.c b/drivers/regulator/lm363x-regulator.c
index f53e63301a20..ce5f7d9ad475 100644
--- a/drivers/regulator/lm363x-regulator.c
+++ b/drivers/regulator/lm363x-regulator.c
@@ -227,9 +227,9 @@ static int lm363x_regulator_of_get_enable_gpio(struct device_node *np, int id)
 	 */
 	switch (id) {
 	case LM3632_LDO_POS:
-		return of_get_named_gpio(np, "ti,lcm-en1-gpio", 0);
+		return of_get_named_gpio(np, "enable-gpios", 0);
 	case LM3632_LDO_NEG:
-		return of_get_named_gpio(np, "ti,lcm-en2-gpio", 0);
+		return of_get_named_gpio(np, "enable-gpios", 1);
 	default:
 		return -EINVAL;
 	}
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] Documentation: dt-bindings: Use generic property for hardware enable pins
  2017-02-28  7:50 [PATCH 1/2] Documentation: dt-bindings: Use generic property for hardware enable pins Milo Kim
  2017-02-28  7:50 ` [PATCH 2/2] regulator: lm363x: Use generic DT property name for external control pins Milo Kim
@ 2017-03-03  6:21 ` Rob Herring
  2017-03-03  6:56   ` Kim, Milo
  2017-03-07 13:56 ` Mark Brown
  2017-03-07 14:21 ` Applied "regulator: lm363x: Use generic property for hardware enable pins" to the regulator tree Mark Brown
  3 siblings, 1 reply; 7+ messages in thread
From: Rob Herring @ 2017-03-03  6:21 UTC (permalink / raw)
  To: Milo Kim; +Cc: Mark Brown, devicetree, linux-kernel

On Tue, Feb 28, 2017 at 04:50:40PM +0900, Milo Kim wrote:
> With index usages, device specific properties can be replaced with generic
> one. Vpos is index 0 and Vneg is index 1.
> DT examples are added as well.
> 
> Signed-off-by: Milo Kim <milo.kim@ti.com>
> ---
>  .../bindings/regulator/lm363x-regulator.txt        | 78 +++++++++++++++++++++-
>  1 file changed, 76 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/regulator/lm363x-regulator.txt b/Documentation/devicetree/bindings/regulator/lm363x-regulator.txt
> index 8f14df9d1205..cc5a6151d85f 100644
> --- a/Documentation/devicetree/bindings/regulator/lm363x-regulator.txt
> +++ b/Documentation/devicetree/bindings/regulator/lm363x-regulator.txt
> @@ -8,8 +8,8 @@ Required property:
>  
>  Optional properties:
>    LM3632 has external enable pins for two LDOs.
> -  - ti,lcm-en1-gpio: A GPIO specifier for Vpos control pin.
> -  - ti,lcm-en2-gpio: A GPIO specifier for Vneg control pin.
> +  - enable-gpios: Two GPIO specifiers for Vpos and Vneg control pins.
> +                  The first entry is Vpos, the second is Vneg enable pin.

You're breaking compatibility with existing DTBs. You need to explain 
that and why it is okay in the commit message. In this case, I don't 
think it is okay as this chip could be used across vendors' platforms.

Rob

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] Documentation: dt-bindings: Use generic property for hardware enable pins
  2017-03-03  6:21 ` [PATCH 1/2] Documentation: dt-bindings: Use generic property for hardware enable pins Rob Herring
@ 2017-03-03  6:56   ` Kim, Milo
  0 siblings, 0 replies; 7+ messages in thread
From: Kim, Milo @ 2017-03-03  6:56 UTC (permalink / raw)
  To: Rob Herring; +Cc: Mark Brown, devicetree, linux-kernel

On 3/3/2017 3:21 PM, Rob Herring wrote:
> On Tue, Feb 28, 2017 at 04:50:40PM +0900, Milo Kim wrote:
>> With index usages, device specific properties can be replaced with generic
>> one. Vpos is index 0 and Vneg is index 1.
>> DT examples are added as well.
>>
>> Signed-off-by: Milo Kim <milo.kim@ti.com>
>> ---
>>  .../bindings/regulator/lm363x-regulator.txt        | 78 +++++++++++++++++++++-
>>  1 file changed, 76 insertions(+), 2 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/regulator/lm363x-regulator.txt b/Documentation/devicetree/bindings/regulator/lm363x-regulator.txt
>> index 8f14df9d1205..cc5a6151d85f 100644
>> --- a/Documentation/devicetree/bindings/regulator/lm363x-regulator.txt
>> +++ b/Documentation/devicetree/bindings/regulator/lm363x-regulator.txt
>> @@ -8,8 +8,8 @@ Required property:
>>
>>  Optional properties:
>>    LM3632 has external enable pins for two LDOs.
>> -  - ti,lcm-en1-gpio: A GPIO specifier for Vpos control pin.
>> -  - ti,lcm-en2-gpio: A GPIO specifier for Vneg control pin.
>> +  - enable-gpios: Two GPIO specifiers for Vpos and Vneg control pins.
>> +                  The first entry is Vpos, the second is Vneg enable pin.
>
> You're breaking compatibility with existing DTBs. You need to explain
> that and why it is okay in the commit message. In this case, I don't
> think it is okay as this chip could be used across vendors' platforms.

Thanks for your comment.

The lm363x-regulator has a dependency on ti-lmu MFD driver which is not 
upstreamed. So I don't think this patch will break the compatibility 
because two properties are not used anywhere at this moment.
Please correct me if it's incorrect.

Using general DT property is simple/clear because two enable pins are 
differentiable by selecting the index number. That's the main reason of 
this patch.

Best regards,
Milo

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] Documentation: dt-bindings: Use generic property for hardware enable pins
  2017-02-28  7:50 [PATCH 1/2] Documentation: dt-bindings: Use generic property for hardware enable pins Milo Kim
  2017-02-28  7:50 ` [PATCH 2/2] regulator: lm363x: Use generic DT property name for external control pins Milo Kim
  2017-03-03  6:21 ` [PATCH 1/2] Documentation: dt-bindings: Use generic property for hardware enable pins Rob Herring
@ 2017-03-07 13:56 ` Mark Brown
  2017-03-07 14:21 ` Applied "regulator: lm363x: Use generic property for hardware enable pins" to the regulator tree Mark Brown
  3 siblings, 0 replies; 7+ messages in thread
From: Mark Brown @ 2017-03-07 13:56 UTC (permalink / raw)
  To: Milo Kim; +Cc: Rob Herring, devicetree, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 339 bytes --]

On Tue, Feb 28, 2017 at 04:50:40PM +0900, Milo Kim wrote:
> With index usages, device specific properties can be replaced with generic
> one. Vpos is index 0 and Vneg is index 1.
> DT examples are added as well.

Please use subject lines matching the style for the subsystem.  This
makes it easier for people to identify relevant patches.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Applied "regulator: lm363x: Use generic property for hardware enable pins" to the regulator tree
  2017-02-28  7:50 [PATCH 1/2] Documentation: dt-bindings: Use generic property for hardware enable pins Milo Kim
                   ` (2 preceding siblings ...)
  2017-03-07 13:56 ` Mark Brown
@ 2017-03-07 14:21 ` Mark Brown
  3 siblings, 0 replies; 7+ messages in thread
From: Mark Brown @ 2017-03-07 14:21 UTC (permalink / raw)
  To: Milo Kim
  Cc: Mark Brown, Mark Brown, Rob Herring, devicetree, linux-kernel,
	linux-kernel

The patch

   regulator: lm363x: Use generic property for hardware enable pins

has been applied to the regulator tree at

   git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

>From 45493684f5953d83cb2621027ad0792d167bedab Mon Sep 17 00:00:00 2001
From: Milo Kim <milo.kim@ti.com>
Date: Tue, 28 Feb 2017 16:50:40 +0900
Subject: [PATCH] regulator: lm363x: Use generic property for hardware enable
 pins

With index usages, device specific properties can be replaced with generic
one. Vpos is index 0 and Vneg is index 1.
DT examples are added as well.

Signed-off-by: Milo Kim <milo.kim@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 .../bindings/regulator/lm363x-regulator.txt        | 78 +++++++++++++++++++++-
 1 file changed, 76 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/regulator/lm363x-regulator.txt b/Documentation/devicetree/bindings/regulator/lm363x-regulator.txt
index 8f14df9d1205..cc5a6151d85f 100644
--- a/Documentation/devicetree/bindings/regulator/lm363x-regulator.txt
+++ b/Documentation/devicetree/bindings/regulator/lm363x-regulator.txt
@@ -8,8 +8,8 @@ Required property:
 
 Optional properties:
   LM3632 has external enable pins for two LDOs.
-  - ti,lcm-en1-gpio: A GPIO specifier for Vpos control pin.
-  - ti,lcm-en2-gpio: A GPIO specifier for Vneg control pin.
+  - enable-gpios: Two GPIO specifiers for Vpos and Vneg control pins.
+                  The first entry is Vpos, the second is Vneg enable pin.
 
 Child nodes:
   LM3631
@@ -30,5 +30,79 @@ Child nodes:
 
 Examples: Please refer to ti-lmu dt-bindings [2].
 
+lm3631@29 {
+	compatible = "ti,lm3631";
+	reg = <0x29>;
+
+	regulators {
+		compatible = "ti,lm363x-regulator";
+
+		vboost {
+			regulator-name = "lcd_boost";
+			regulator-min-microvolt = <4500000>;
+			regulator-max-microvolt = <6350000>;
+			regulator-always-on;
+		};
+
+		vcont {
+			regulator-name = "lcd_vcont";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <3300000>;
+		};
+
+		voref {
+			regulator-name = "lcd_voref";
+			regulator-min-microvolt = <4000000>;
+			regulator-max-microvolt = <6000000>;
+		};
+
+		vpos {
+			regulator-name = "lcd_vpos";
+			regulator-min-microvolt = <4000000>;
+			regulator-max-microvolt = <6000000>;
+			regulator-boot-on;
+		};
+
+		vneg {
+			regulator-name = "lcd_vneg";
+			regulator-min-microvolt = <4000000>;
+			regulator-max-microvolt = <6000000>;
+			regulator-boot-on;
+		};
+	};
+};
+
+lm3632@11 {
+	compatible = "ti,lm3632";
+	reg = <0x11>;
+
+	regulators {
+		compatible = "ti,lm363x-regulator";
+
+		/* GPIO1_16 for Vpos, GPIO1_28 is for Vneg */
+		enable-gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>,
+				<&gpio1 28 GPIO_ACTIVE_HIGH>;
+
+		vboost {
+			regulator-name = "lcd_boost";
+			regulator-min-microvolt = <4500000>;
+			regulator-max-microvolt = <6400000>;
+			regulator-always-on;
+		};
+
+		vpos {
+			regulator-name = "lcd_vpos";
+			regulator-min-microvolt = <4000000>;
+			regulator-max-microvolt = <6000000>;
+		};
+
+		vneg {
+			regulator-name = "lcd_vneg";
+			regulator-min-microvolt = <4000000>;
+			regulator-max-microvolt = <6000000>;
+		};
+	};
+};
+
 [1] ../regulator/regulator.txt
 [2] ../mfd/ti-lmu.txt
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Applied "regulator: lm363x: Use generic DT property name for external control pins" to the regulator tree
  2017-02-28  7:50 ` [PATCH 2/2] regulator: lm363x: Use generic DT property name for external control pins Milo Kim
@ 2017-03-07 14:21   ` Mark Brown
  0 siblings, 0 replies; 7+ messages in thread
From: Mark Brown @ 2017-03-07 14:21 UTC (permalink / raw)
  To: Milo Kim
  Cc: Mark Brown, Mark Brown, Rob Herring, devicetree, linux-kernel,
	linux-kernel

The patch

   regulator: lm363x: Use generic DT property name for external control pins

has been applied to the regulator tree at

   git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

>From 9503b5085fd0e7cfc6e32b1a473a997303d7e26a Mon Sep 17 00:00:00 2001
From: Milo Kim <milo.kim@ti.com>
Date: Tue, 28 Feb 2017 16:50:41 +0900
Subject: [PATCH] regulator: lm363x: Use generic DT property name for external
 control pins

Vpos and Vneg LDOs can be enabled or disabled by external GPIOs.
Use general DT property 'enable-gpios' for this usage.
Two enable pins are differentiable by selecting the index number.

Signed-off-by: Milo Kim <milo.kim@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 drivers/regulator/lm363x-regulator.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/regulator/lm363x-regulator.c b/drivers/regulator/lm363x-regulator.c
index f53e63301a20..ce5f7d9ad475 100644
--- a/drivers/regulator/lm363x-regulator.c
+++ b/drivers/regulator/lm363x-regulator.c
@@ -227,9 +227,9 @@ static int lm363x_regulator_of_get_enable_gpio(struct device_node *np, int id)
 	 */
 	switch (id) {
 	case LM3632_LDO_POS:
-		return of_get_named_gpio(np, "ti,lcm-en1-gpio", 0);
+		return of_get_named_gpio(np, "enable-gpios", 0);
 	case LM3632_LDO_NEG:
-		return of_get_named_gpio(np, "ti,lcm-en2-gpio", 0);
+		return of_get_named_gpio(np, "enable-gpios", 1);
 	default:
 		return -EINVAL;
 	}
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-03-07 14:45 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-28  7:50 [PATCH 1/2] Documentation: dt-bindings: Use generic property for hardware enable pins Milo Kim
2017-02-28  7:50 ` [PATCH 2/2] regulator: lm363x: Use generic DT property name for external control pins Milo Kim
2017-03-07 14:21   ` Applied "regulator: lm363x: Use generic DT property name for external control pins" to the regulator tree Mark Brown
2017-03-03  6:21 ` [PATCH 1/2] Documentation: dt-bindings: Use generic property for hardware enable pins Rob Herring
2017-03-03  6:56   ` Kim, Milo
2017-03-07 13:56 ` Mark Brown
2017-03-07 14:21 ` Applied "regulator: lm363x: Use generic property for hardware enable pins" to the regulator tree Mark Brown

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).