linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/10] regulator: ab8500-ext: Refactorings
@ 2013-06-07 16:11 Lee Jones
  2013-06-07 16:11 ` [PATCH 01/10] ARM: ux500: Add Device Tree nodes for AB8500 External regulators Lee Jones
                   ` (10 more replies)
  0 siblings, 11 replies; 22+ messages in thread
From: Lee Jones @ 2013-06-07 16:11 UTC (permalink / raw)
  To: linux-arm-kernel, linux-kernel
  Cc: arnd, linus.walleij, srinidhi.kasagar, broonie

This patch aims to do the following:

 - Separate the AB8500 External Regulator out from the AB8500 core
   one for added control and reduced complexity
 - Enable the AB8500 External Regulator for Device Tree
 - Ensure EXT3 supplies the AUX regulators with voltage

 arch/arm/boot/dts/dbx5x0.dtsi                 |   28 ++++++++++++++++++++++++++++
 arch/arm/boot/dts/snowball.dts                |   14 ++++++++++++++
 arch/arm/mach-ux500/board-mop500-regulators.c |    4 +---
 drivers/mfd/ab8500-core.c                     |   10 ++++++++++
 drivers/regulator/Makefile                    |    2 +-
 drivers/regulator/ab8500-ext.c                |   82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 drivers/regulator/ab8500.c                    |   20 ++++----------------
 include/linux/regulator/ab8500.h              |    4 ----
 8 files changed, 137 insertions(+), 27 deletions(-)



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

* [PATCH 01/10] ARM: ux500: Add Device Tree nodes for AB8500 External regulators
  2013-06-07 16:11 [PATCH 00/10] regulator: ab8500-ext: Refactorings Lee Jones
@ 2013-06-07 16:11 ` Lee Jones
  2013-06-10 15:17   ` Linus Walleij
  2013-06-07 16:11 ` [PATCH 02/10] ARM: ux500: Provide a supply name for the AB8500 AUX regulators to use Lee Jones
                   ` (9 subsequent siblings)
  10 siblings, 1 reply; 22+ messages in thread
From: Lee Jones @ 2013-06-07 16:11 UTC (permalink / raw)
  To: linux-arm-kernel, linux-kernel
  Cc: arnd, linus.walleij, srinidhi.kasagar, broonie, Lee Jones

The AB8500 has 3 external regulators which are used to control outside
voltage sources. Some of the core AB8500 use these external regulators
as a supply, so they must be obtainable via Device Tree.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 arch/arm/boot/dts/dbx5x0.dtsi |   27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/arch/arm/boot/dts/dbx5x0.dtsi b/arch/arm/boot/dts/dbx5x0.dtsi
index a082f0b..ea87fac 100644
--- a/arch/arm/boot/dts/dbx5x0.dtsi
+++ b/arch/arm/boot/dts/dbx5x0.dtsi
@@ -452,6 +452,33 @@
 					stericsson,earpeice-cmv = <950>; /* Units in mV. */
 				};
 
+				ext_regulators: ab8500-ext-regulators {
+					compatible = "stericsson,ab8500-ext-regulator";
+
+					ab8500_ext1_reg: ab8500_ext1 {
+						regulator-compatible = "ab8500_ext1";
+						regulator-min-microvolt = <1800000>;
+						regulator-max-microvolt = <1800000>;
+						regulator-boot-on;
+						regulator-always-on;
+					};
+
+					ab8500_ext2_reg: ab8500_ext2 {
+						regulator-compatible = "ab8500_ext2";
+						regulator-min-microvolt = <1360000>;
+						regulator-max-microvolt = <1360000>;
+						regulator-boot-on;
+						regulator-always-on;
+					};
+
+					ab8500_ext3_reg: ab8500_ext3 {
+						regulator-compatible = "ab8500_ext3";
+						regulator-min-microvolt = <3400000>;
+						regulator-max-microvolt = <3400000>;
+						regulator-boot-on;
+					};
+				};
+
 				ab8500-regulators {
 					compatible = "stericsson,ab8500-regulator";
 
-- 
1.7.10.4


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

* [PATCH 02/10] ARM: ux500: Provide a supply name for the AB8500 AUX regulators to use
  2013-06-07 16:11 [PATCH 00/10] regulator: ab8500-ext: Refactorings Lee Jones
  2013-06-07 16:11 ` [PATCH 01/10] ARM: ux500: Add Device Tree nodes for AB8500 External regulators Lee Jones
@ 2013-06-07 16:11 ` Lee Jones
  2013-06-10 15:18   ` Linus Walleij
  2013-06-07 16:11 ` [PATCH 03/10] ARM: ux500: Supply external regulator names for Snowball's DT Lee Jones
                   ` (8 subsequent siblings)
  10 siblings, 1 reply; 22+ messages in thread
From: Lee Jones @ 2013-06-07 16:11 UTC (permalink / raw)
  To: linux-arm-kernel, linux-kernel
  Cc: arnd, linus.walleij, srinidhi.kasagar, broonie, Lee Jones

AB8500 AUX regulators are supplied by EXT3 on some boards. This supply
phandle lookup will enable the regulator core to search for and locate
the EXT3 supply at registration time.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 arch/arm/boot/dts/dbx5x0.dtsi |    1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/boot/dts/dbx5x0.dtsi b/arch/arm/boot/dts/dbx5x0.dtsi
index ea87fac..be63293 100644
--- a/arch/arm/boot/dts/dbx5x0.dtsi
+++ b/arch/arm/boot/dts/dbx5x0.dtsi
@@ -481,6 +481,7 @@
 
 				ab8500-regulators {
 					compatible = "stericsson,ab8500-regulator";
+					vin-supply = <&ab8500_ext3_reg>;
 
 					// supplies to the display/camera
 					ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
-- 
1.7.10.4


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

* [PATCH 03/10] ARM: ux500: Supply external regulator names for Snowball's DT
  2013-06-07 16:11 [PATCH 00/10] regulator: ab8500-ext: Refactorings Lee Jones
  2013-06-07 16:11 ` [PATCH 01/10] ARM: ux500: Add Device Tree nodes for AB8500 External regulators Lee Jones
  2013-06-07 16:11 ` [PATCH 02/10] ARM: ux500: Provide a supply name for the AB8500 AUX regulators to use Lee Jones
@ 2013-06-07 16:11 ` Lee Jones
  2013-06-07 16:11 ` [PATCH 04/10] ARM: ux500: Provide the supply regulator through consumers Lee Jones
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 22+ messages in thread
From: Lee Jones @ 2013-06-07 16:11 UTC (permalink / raw)
  To: linux-arm-kernel, linux-kernel
  Cc: arnd, linus.walleij, srinidhi.kasagar, broonie, Lee Jones

Regulator names are platform independent, so they need to be applied to
the base level platform DTS files *.dts. Here we're supplying the names
for the newly described AB8500 external regulators.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 arch/arm/boot/dts/snowball.dts |   14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/arch/arm/boot/dts/snowball.dts b/arch/arm/boot/dts/snowball.dts
index fb9dce5..f1f6903 100644
--- a/arch/arm/boot/dts/snowball.dts
+++ b/arch/arm/boot/dts/snowball.dts
@@ -309,6 +309,20 @@
 					compatible = "stericsson,ab8500-gpio";
 				};
 
+				ext_regulators: ab8500-ext-regulators {
+					ab8500_ext1_reg: ab8500_ext1 {
+						regulator-name = "ab8500-ext-supply1";
+					};
+
+					ab8500_ext2_reg_reg: ab8500_ext2 {
+						regulator-name = "ab8500-ext-supply2";
+					};
+
+					ab8500_ext3_reg_reg: ab8500_ext3 {
+						regulator-name = "ab8500-ext-supply3";
+					};
+				};
+
 				ab8500-regulators {
 					ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
 						regulator-name = "V-DISPLAY";
-- 
1.7.10.4


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

* [PATCH 04/10] ARM: ux500: Provide the supply regulator through consumers
  2013-06-07 16:11 [PATCH 00/10] regulator: ab8500-ext: Refactorings Lee Jones
                   ` (2 preceding siblings ...)
  2013-06-07 16:11 ` [PATCH 03/10] ARM: ux500: Supply external regulator names for Snowball's DT Lee Jones
@ 2013-06-07 16:11 ` Lee Jones
  2013-06-07 16:11 ` [PATCH 05/10] mfd: ab8500-core: Add AB8500 external regulators as MFD devices Lee Jones
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 22+ messages in thread
From: Lee Jones @ 2013-06-07 16:11 UTC (permalink / raw)
  To: linux-arm-kernel, linux-kernel
  Cc: arnd, linus.walleij, srinidhi.kasagar, broonie, Lee Jones

The supply name is now provided through the regulator descriptor, so
instead of applying a supply_regulator name for each subordinate
regulator requiring it, we can just register a link between the chip
and supply name to achieve the same thing. This reduces platform data
code and standardises the semantics between ATAG and DT boots.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 arch/arm/mach-ux500/board-mop500-regulators.c |    4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/arch/arm/mach-ux500/board-mop500-regulators.c b/arch/arm/mach-ux500/board-mop500-regulators.c
index 0dc44c6..70111d5 100644
--- a/arch/arm/mach-ux500/board-mop500-regulators.c
+++ b/arch/arm/mach-ux500/board-mop500-regulators.c
@@ -374,7 +374,6 @@ static struct ab8500_regulator_reg_init ab8500_reg_init[] = {
 static struct regulator_init_data ab8500_regulators[AB8500_NUM_REGULATORS] = {
 	/* supplies to the display/camera */
 	[AB8500_LDO_AUX1] = {
-		.supply_regulator = "ab8500-ext-supply3",
 		.constraints = {
 			.name = "V-DISPLAY",
 			.min_uV = 2800000,
@@ -388,7 +387,6 @@ static struct regulator_init_data ab8500_regulators[AB8500_NUM_REGULATORS] = {
 	},
 	/* supplies to the on-board eMMC */
 	[AB8500_LDO_AUX2] = {
-		.supply_regulator = "ab8500-ext-supply3",
 		.constraints = {
 			.name = "V-eMMC1",
 			.min_uV = 1100000,
@@ -404,7 +402,6 @@ static struct regulator_init_data ab8500_regulators[AB8500_NUM_REGULATORS] = {
 	},
 	/* supply for VAUX3, supplies to SDcard slots */
 	[AB8500_LDO_AUX3] = {
-		.supply_regulator = "ab8500-ext-supply3",
 		.constraints = {
 			.name = "V-MMC-SD",
 			.min_uV = 1100000,
@@ -495,6 +492,7 @@ static struct regulator_init_data ab8500_regulators[AB8500_NUM_REGULATORS] = {
 static struct regulator_consumer_supply ab8500_ext_supply3_consumers[] = {
 	/* SIM supply for 3 V SIM cards */
 	REGULATOR_SUPPLY("vinvsim", "sim-detect.0"),
+	REGULATOR_SUPPLY("vin", "ab8500-regulator.0"),
 };
 
 /* extended configuration for VextSupply2, only used for HREFP_V20 boards */
-- 
1.7.10.4


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

* [PATCH 05/10] mfd: ab8500-core: Add AB8500 external regulators as MFD devices
  2013-06-07 16:11 [PATCH 00/10] regulator: ab8500-ext: Refactorings Lee Jones
                   ` (3 preceding siblings ...)
  2013-06-07 16:11 ` [PATCH 04/10] ARM: ux500: Provide the supply regulator through consumers Lee Jones
@ 2013-06-07 16:11 ` Lee Jones
  2013-06-07 16:11 ` [PATCH 06/10] regulator: ab8500: Ensure AB8500 external registers are probed first Lee Jones
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 22+ messages in thread
From: Lee Jones @ 2013-06-07 16:11 UTC (permalink / raw)
  To: linux-arm-kernel, linux-kernel
  Cc: arnd, linus.walleij, srinidhi.kasagar, broonie, Lee Jones

The AB8500 external regulator driver is now a device in its own right,
so it requires registering and probing in the normal way. This patch
will ensure the driver is probed once registered for all devices which
support them.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 drivers/mfd/ab8500-core.c |   10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/mfd/ab8500-core.c b/drivers/mfd/ab8500-core.c
index 258b367..710f117 100644
--- a/drivers/mfd/ab8500-core.c
+++ b/drivers/mfd/ab8500-core.c
@@ -1051,6 +1051,10 @@ static struct mfd_cell ab8500_devs[] = {
 		.of_compatible = "stericsson,ab8500-sysctrl",
 	},
 	{
+		.name = "ab8500-ext-regulator",
+		.of_compatible = "stericsson,ab8500-ext-regulator",
+	},
+	{
 		.name = "ab8500-regulator",
 		.of_compatible = "stericsson,ab8500-regulator",
 	},
@@ -1139,6 +1143,9 @@ static struct mfd_cell ab9540_devs[] = {
 		.name = "ab8500-sysctrl",
 	},
 	{
+		.name = "ab8500-ext-regulator",
+	},
+	{
 		.name = "ab8500-regulator",
 	},
 	{
@@ -1274,6 +1281,9 @@ static struct mfd_cell ab8540_devs[] = {
 		.name = "ab8500-sysctrl",
 	},
 	{
+		.name = "ab8500-ext-regulator",
+	},
+	{
 		.name = "ab8500-regulator",
 	},
 	{
-- 
1.7.10.4


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

* [PATCH 06/10] regulator: ab8500: Ensure AB8500 external registers are probed first
  2013-06-07 16:11 [PATCH 00/10] regulator: ab8500-ext: Refactorings Lee Jones
                   ` (4 preceding siblings ...)
  2013-06-07 16:11 ` [PATCH 05/10] mfd: ab8500-core: Add AB8500 external regulators as MFD devices Lee Jones
@ 2013-06-07 16:11 ` Lee Jones
  2013-06-07 16:51   ` Mark Brown
  2013-06-07 16:11 ` [PATCH 07/10] regulator: ab8500-ext: Provide a set_voltage call-back operation Lee Jones
                   ` (4 subsequent siblings)
  10 siblings, 1 reply; 22+ messages in thread
From: Lee Jones @ 2013-06-07 16:11 UTC (permalink / raw)
  To: linux-arm-kernel, linux-kernel
  Cc: arnd, linus.walleij, srinidhi.kasagar, broonie, Lee Jones

This patch changes the order in which the AB8500 regulator drivers are
registered and subsequently probed. It saves a lot of -EPROBE_DEFEER
nonsense and bootlog noise, as some AB8500 core regulators depend on
the external ones for supply voltage.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 drivers/regulator/Makefile |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/regulator/Makefile b/drivers/regulator/Makefile
index 47a34ff..0f4964e 100644
--- a/drivers/regulator/Makefile
+++ b/drivers/regulator/Makefile
@@ -12,7 +12,7 @@ obj-$(CONFIG_REGULATOR_USERSPACE_CONSUMER) += userspace-consumer.o
 obj-$(CONFIG_REGULATOR_88PM8607) += 88pm8607.o
 obj-$(CONFIG_REGULATOR_AAT2870) += aat2870-regulator.o
 obj-$(CONFIG_REGULATOR_AB3100) += ab3100.o
-obj-$(CONFIG_REGULATOR_AB8500)	+= ab8500.o ab8500-ext.o
+obj-$(CONFIG_REGULATOR_AB8500)	+= ab8500-ext.o ab8500.o
 obj-$(CONFIG_REGULATOR_AD5398) += ad5398.o
 obj-$(CONFIG_REGULATOR_ANATOP) += anatop-regulator.o
 obj-$(CONFIG_REGULATOR_ARIZONA) += arizona-micsupp.o arizona-ldo1.o
-- 
1.7.10.4


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

* [PATCH 07/10] regulator: ab8500-ext: Provide a set_voltage call-back operation
  2013-06-07 16:11 [PATCH 00/10] regulator: ab8500-ext: Refactorings Lee Jones
                   ` (5 preceding siblings ...)
  2013-06-07 16:11 ` [PATCH 06/10] regulator: ab8500: Ensure AB8500 external registers are probed first Lee Jones
@ 2013-06-07 16:11 ` Lee Jones
  2013-06-07 16:52   ` Mark Brown
  2013-06-07 16:11 ` [PATCH 08/10] regulator: ab8500-ext: Register as a device in its own right Lee Jones
                   ` (3 subsequent siblings)
  10 siblings, 1 reply; 22+ messages in thread
From: Lee Jones @ 2013-06-07 16:11 UTC (permalink / raw)
  To: linux-arm-kernel, linux-kernel
  Cc: arnd, linus.walleij, srinidhi.kasagar, broonie, Lee Jones

When registering regulators which have a single voltage through Device
Tree, the framework insists that the specified voltage is actually set.
Well in order to do that we need to provide this call-back, where we
check that the value is sane and return without error. Not that the
selector isn't populated, but in our case list_voltage doesn't actually
use it, so we're good.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 drivers/regulator/ab8500-ext.c |   23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/drivers/regulator/ab8500-ext.c b/drivers/regulator/ab8500-ext.c
index b4d4547..e4975bc 100644
--- a/drivers/regulator/ab8500-ext.c
+++ b/drivers/regulator/ab8500-ext.c
@@ -229,6 +229,28 @@ static unsigned int ab8500_ext_regulator_get_mode(struct regulator_dev *rdev)
 	return ret;
 }
 
+static int ab8500_ext_set_voltage(struct regulator_dev *rdev, int min_uV,
+				  int max_uV, unsigned *selector)
+{
+	struct regulation_constraints *regu_constraints = rdev->constraints;
+
+	if (!regu_constraints) {
+		dev_err(rdev_get_dev(rdev), "No regulator constraints\n");
+		return -EINVAL;
+	}
+
+	if (regu_constraints->min_uV == min_uV &&
+	    regu_constraints->max_uV == max_uV)
+		return 0;
+
+	dev_err(rdev_get_dev(rdev),
+		"Requested min %duV max %duV != constrained min %duV max %duV\n",
+		min_uV, max_uV,
+		regu_constraints->min_uV, regu_constraints->max_uV);
+
+	return -EINVAL;
+}
+
 static int ab8500_ext_list_voltage(struct regulator_dev *rdev,
 				   unsigned selector)
 {
@@ -252,6 +274,7 @@ static struct regulator_ops ab8500_ext_regulator_ops = {
 	.is_enabled		= ab8500_ext_regulator_is_enabled,
 	.set_mode		= ab8500_ext_regulator_set_mode,
 	.get_mode		= ab8500_ext_regulator_get_mode,
+	.set_voltage		= ab8500_ext_set_voltage,
 	.list_voltage		= ab8500_ext_list_voltage,
 };
 
-- 
1.7.10.4


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

* [PATCH 08/10] regulator: ab8500-ext: Register as a device in its own right
  2013-06-07 16:11 [PATCH 00/10] regulator: ab8500-ext: Refactorings Lee Jones
                   ` (6 preceding siblings ...)
  2013-06-07 16:11 ` [PATCH 07/10] regulator: ab8500-ext: Provide a set_voltage call-back operation Lee Jones
@ 2013-06-07 16:11 ` Lee Jones
  2013-06-11 11:50   ` Mark Brown
  2013-06-07 16:11 ` [PATCH 09/10] regulator: ab8500-ext: Enable for Device Tree Lee Jones
                   ` (2 subsequent siblings)
  10 siblings, 1 reply; 22+ messages in thread
From: Lee Jones @ 2013-06-07 16:11 UTC (permalink / raw)
  To: linux-arm-kernel, linux-kernel
  Cc: arnd, linus.walleij, srinidhi.kasagar, broonie, Lee Jones

Some platforms don't support the AB8500 external regulators, so instead
of having a list of is_<platform>() calls prior to calling
ab8500_ext_regulator_init() from ab8500_regulator_probe(), we can only
register as a platform device on platforms which require them. It means
we also have more control over them when booting with Device Tree.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 drivers/regulator/ab8500-ext.c   |   33 +++++++++++++++++++++++++++++++--
 drivers/regulator/ab8500.c       |   17 +----------------
 include/linux/regulator/ab8500.h |    4 ----
 3 files changed, 32 insertions(+), 22 deletions(-)

diff --git a/drivers/regulator/ab8500-ext.c b/drivers/regulator/ab8500-ext.c
index e4975bc..95f495f 100644
--- a/drivers/regulator/ab8500-ext.c
+++ b/drivers/regulator/ab8500-ext.c
@@ -333,7 +333,7 @@ static struct ab8500_ext_regulator_info
 	},
 };
 
-int ab8500_ext_regulator_init(struct platform_device *pdev)
+int ab8500_ext_regulator_probe(struct platform_device *pdev)
 {
 	struct ab8500 *ab8500 = dev_get_drvdata(pdev->dev.parent);
 	struct ab8500_platform_data *ppdata;
@@ -409,7 +409,7 @@ int ab8500_ext_regulator_init(struct platform_device *pdev)
 	return 0;
 }
 
-void ab8500_ext_regulator_exit(struct platform_device *pdev)
+int ab8500_ext_regulator_remove(struct platform_device *pdev)
 {
 	int i;
 
@@ -422,7 +422,36 @@ void ab8500_ext_regulator_exit(struct platform_device *pdev)
 
 		regulator_unregister(info->rdev);
 	}
+
+	return 0;
+}
+
+static struct platform_driver ab8500_ext_regulator_driver = {
+	.probe = ab8500_ext_regulator_probe,
+	.remove = ab8500_ext_regulator_remove,
+	.driver         = {
+		.name   = "ab8500-ext-regulator",
+		.owner  = THIS_MODULE,
+	},
+};
+
+static int __init ab8500_ext_regulator_init(void)
+{
+	int ret;
+
+	ret = platform_driver_register(&ab8500_ext_regulator_driver);
+	if (ret)
+		pr_err("Failed to register ab8500 ext regulator: %d\n", ret);
+
+	return ret;
+}
+subsys_initcall(ab8500_ext_regulator_init);
+
+static void __exit ab8500_ext_regulator_exit(void)
+{
+	platform_driver_unregister(&ab8500_ext_regulator_driver);
 }
+module_exit(ab8500_ext_regulator_exit);
 
 MODULE_LICENSE("GPL v2");
 MODULE_AUTHOR("Bengt Jonsson <bengt.g.jonsson@stericsson.com>");
diff --git a/drivers/regulator/ab8500.c b/drivers/regulator/ab8500.c
index a19045e..aea9fdae 100644
--- a/drivers/regulator/ab8500.c
+++ b/drivers/regulator/ab8500.c
@@ -3156,22 +3156,12 @@ static int ab8500_regulator_probe(struct platform_device *pdev)
 			return err;
 	}
 
-	if (!is_ab8505(ab8500)) {
-		/* register external regulators (before Vaux1, 2 and 3) */
-		err = ab8500_ext_regulator_init(pdev);
-		if (err)
-			return err;
-	}
-
 	/* register all regulators */
 	for (i = 0; i < abx500_regulator.info_size; i++) {
 		err = ab8500_regulator_register(pdev, &pdata->regulator[i],
 						i, NULL);
-		if (err < 0) {
-			if (!is_ab8505(ab8500))
-				ab8500_ext_regulator_exit(pdev);
+		if (err < 0)
 			return err;
-		}
 	}
 
 	return 0;
@@ -3180,7 +3170,6 @@ static int ab8500_regulator_probe(struct platform_device *pdev)
 static int ab8500_regulator_remove(struct platform_device *pdev)
 {
 	int i, err;
-	struct ab8500 *ab8500 = dev_get_drvdata(pdev->dev.parent);
 
 	for (i = 0; i < abx500_regulator.info_size; i++) {
 		struct ab8500_regulator_info *info = NULL;
@@ -3192,10 +3181,6 @@ static int ab8500_regulator_remove(struct platform_device *pdev)
 		regulator_unregister(info->regulator);
 	}
 
-	/* remove external regulators (after Vaux1, 2 and 3) */
-	if (!is_ab8505(ab8500))
-		ab8500_ext_regulator_exit(pdev);
-
 	/* remove regulator debug */
 	err = ab8500_regulator_debug_exit(pdev);
 	if (err)
diff --git a/include/linux/regulator/ab8500.h b/include/linux/regulator/ab8500.h
index 7c5ff0c..7530744 100644
--- a/include/linux/regulator/ab8500.h
+++ b/include/linux/regulator/ab8500.h
@@ -336,8 +336,4 @@ static inline int ab8500_regulator_debug_exit(struct platform_device *pdev)
 }
 #endif
 
-/* AB8500 external regulator functions. */
-int ab8500_ext_regulator_init(struct platform_device *pdev);
-void ab8500_ext_regulator_exit(struct platform_device *pdev);
-
 #endif
-- 
1.7.10.4


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

* [PATCH 09/10] regulator: ab8500-ext: Enable for Device Tree
  2013-06-07 16:11 [PATCH 00/10] regulator: ab8500-ext: Refactorings Lee Jones
                   ` (7 preceding siblings ...)
  2013-06-07 16:11 ` [PATCH 08/10] regulator: ab8500-ext: Register as a device in its own right Lee Jones
@ 2013-06-07 16:11 ` Lee Jones
  2013-06-11 11:52   ` Mark Brown
  2013-06-07 16:11 ` [PATCH 10/10] regulator: ab8500: Provide supply names for the AUX regulators Lee Jones
  2013-06-10 14:35 ` [PATCH 00/10] regulator: ab8500-ext: Refactorings Linus Walleij
  10 siblings, 1 reply; 22+ messages in thread
From: Lee Jones @ 2013-06-07 16:11 UTC (permalink / raw)
  To: linux-arm-kernel, linux-kernel
  Cc: arnd, linus.walleij, srinidhi.kasagar, broonie, Lee Jones

Here we use the OF regulator match facility to collect and populate
initialisation data from Device Tree if we're booting with it enabled.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 drivers/regulator/ab8500-ext.c |   26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/drivers/regulator/ab8500-ext.c b/drivers/regulator/ab8500-ext.c
index 95f495f..4137a2f 100644
--- a/drivers/regulator/ab8500-ext.c
+++ b/drivers/regulator/ab8500-ext.c
@@ -16,9 +16,11 @@
 #include <linux/kernel.h>
 #include <linux/err.h>
 #include <linux/module.h>
+#include <linux/of.h>
 #include <linux/platform_device.h>
 #include <linux/regulator/driver.h>
 #include <linux/regulator/machine.h>
+#include <linux/regulator/of_regulator.h>
 #include <linux/mfd/abx500.h>
 #include <linux/mfd/abx500/ab8500.h>
 #include <linux/regulator/ab8500.h>
@@ -333,18 +335,37 @@ static struct ab8500_ext_regulator_info
 	},
 };
 
+static struct of_regulator_match ab8500_ext_regulator_match[] = {
+	{ .name = "ab8500_ext1", .driver_data = (void *) AB8500_EXT_SUPPLY1, },
+	{ .name = "ab8500_ext2", .driver_data = (void *) AB8500_EXT_SUPPLY2, },
+	{ .name = "ab8500_ext3", .driver_data = (void *) AB8500_EXT_SUPPLY3, },
+};
+
 int ab8500_ext_regulator_probe(struct platform_device *pdev)
 {
 	struct ab8500 *ab8500 = dev_get_drvdata(pdev->dev.parent);
 	struct ab8500_platform_data *ppdata;
 	struct ab8500_regulator_platform_data *pdata;
+	struct device_node *np = pdev->dev.of_node;
 	struct regulator_config config = { };
 	int i, err;
 
+	if (np) {
+		err = of_regulator_match(&pdev->dev, np,
+					 ab8500_ext_regulator_match,
+					 ARRAY_SIZE(ab8500_ext_regulator_match));
+		if (err < 0) {
+			dev_err(&pdev->dev,
+				"Error parsing regulator init data: %d\n", err);
+			return err;
+		}
+	}
+
 	if (!ab8500) {
 		dev_err(&pdev->dev, "null mfd parent\n");
 		return -EINVAL;
 	}
+
 	ppdata = dev_get_platdata(ab8500->dev);
 	if (!ppdata) {
 		dev_err(&pdev->dev, "null parent pdata\n");
@@ -385,8 +406,11 @@ int ab8500_ext_regulator_probe(struct platform_device *pdev)
 			pdata->ext_regulator[i].driver_data;
 
 		config.dev = &pdev->dev;
-		config.init_data = &pdata->ext_regulator[i];
 		config.driver_data = info;
+		config.of_node = ab8500_ext_regulator_match[i].of_node;
+		config.init_data = (np) ?
+			ab8500_ext_regulator_match[i].init_data :
+			&pdata->ext_regulator[i];
 
 		/* register regulator with framework */
 		info->rdev = regulator_register(&info->desc, &config);
-- 
1.7.10.4


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

* [PATCH 10/10] regulator: ab8500: Provide supply names for the AUX regulators
  2013-06-07 16:11 [PATCH 00/10] regulator: ab8500-ext: Refactorings Lee Jones
                   ` (8 preceding siblings ...)
  2013-06-07 16:11 ` [PATCH 09/10] regulator: ab8500-ext: Enable for Device Tree Lee Jones
@ 2013-06-07 16:11 ` Lee Jones
  2013-06-10 14:35 ` [PATCH 00/10] regulator: ab8500-ext: Refactorings Linus Walleij
  10 siblings, 0 replies; 22+ messages in thread
From: Lee Jones @ 2013-06-07 16:11 UTC (permalink / raw)
  To: linux-arm-kernel, linux-kernel
  Cc: arnd, linus.walleij, srinidhi.kasagar, broonie, Lee Jones

On some platforms the AUX[1|2|3] regulators are supplied voltage by
a separate regulator. For example on Snowball these are provided by
the EXT3. If we list them here, we can supply voltage to them by
simply listing them in as a consumer of EXT3 in the Snowball case.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 drivers/regulator/ab8500.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/regulator/ab8500.c b/drivers/regulator/ab8500.c
index aea9fdae..603f192 100644
--- a/drivers/regulator/ab8500.c
+++ b/drivers/regulator/ab8500.c
@@ -719,6 +719,7 @@ static struct ab8500_regulator_info
 			.n_voltages	= ARRAY_SIZE(ldo_vauxn_voltages),
 			.volt_table	= ldo_vauxn_voltages,
 			.enable_time	= 200,
+			.supply_name    = "vin",
 		},
 		.load_lp_uA		= 5000,
 		.update_bank		= 0x04,
@@ -741,6 +742,7 @@ static struct ab8500_regulator_info
 			.n_voltages	= ARRAY_SIZE(ldo_vauxn_voltages),
 			.volt_table	= ldo_vauxn_voltages,
 			.enable_time	= 200,
+			.supply_name    = "vin",
 		},
 		.load_lp_uA		= 5000,
 		.update_bank		= 0x04,
@@ -763,6 +765,7 @@ static struct ab8500_regulator_info
 			.n_voltages	= ARRAY_SIZE(ldo_vaux3_voltages),
 			.volt_table	= ldo_vaux3_voltages,
 			.enable_time	= 450,
+			.supply_name    = "vin",
 		},
 		.load_lp_uA		= 5000,
 		.update_bank		= 0x04,
-- 
1.7.10.4


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

* Re: [PATCH 06/10] regulator: ab8500: Ensure AB8500 external registers are probed first
  2013-06-07 16:11 ` [PATCH 06/10] regulator: ab8500: Ensure AB8500 external registers are probed first Lee Jones
@ 2013-06-07 16:51   ` Mark Brown
  0 siblings, 0 replies; 22+ messages in thread
From: Mark Brown @ 2013-06-07 16:51 UTC (permalink / raw)
  To: Lee Jones
  Cc: linux-arm-kernel, linux-kernel, arnd, linus.walleij,
	srinidhi.kasagar, broonie

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

On Fri, Jun 07, 2013 at 05:11:24PM +0100, Lee Jones wrote:
> This patch changes the order in which the AB8500 regulator drivers are
> registered and subsequently probed. It saves a lot of -EPROBE_DEFEER
> nonsense and bootlog noise, as some AB8500 core regulators depend on
> the external ones for supply voltage.

When CCing maintainers on patches please use the e-mail addresses they
advertise and generally use...  applied.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* Re: [PATCH 07/10] regulator: ab8500-ext: Provide a set_voltage call-back operation
  2013-06-07 16:11 ` [PATCH 07/10] regulator: ab8500-ext: Provide a set_voltage call-back operation Lee Jones
@ 2013-06-07 16:52   ` Mark Brown
  0 siblings, 0 replies; 22+ messages in thread
From: Mark Brown @ 2013-06-07 16:52 UTC (permalink / raw)
  To: Lee Jones
  Cc: linux-arm-kernel, linux-kernel, arnd, linus.walleij,
	srinidhi.kasagar, broonie

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

On Fri, Jun 07, 2013 at 05:11:25PM +0100, Lee Jones wrote:
> When registering regulators which have a single voltage through Device
> Tree, the framework insists that the specified voltage is actually set.
> Well in order to do that we need to provide this call-back, where we
> check that the value is sane and return without error. Not that the
> selector isn't populated, but in our case list_voltage doesn't actually
> use it, so we're good.

Applied, thanks.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* Re: [PATCH 00/10] regulator: ab8500-ext: Refactorings
  2013-06-07 16:11 [PATCH 00/10] regulator: ab8500-ext: Refactorings Lee Jones
                   ` (9 preceding siblings ...)
  2013-06-07 16:11 ` [PATCH 10/10] regulator: ab8500: Provide supply names for the AUX regulators Lee Jones
@ 2013-06-10 14:35 ` Linus Walleij
  2013-06-10 15:12   ` Lee Jones
  10 siblings, 1 reply; 22+ messages in thread
From: Linus Walleij @ 2013-06-10 14:35 UTC (permalink / raw)
  To: Lee Jones
  Cc: linux-arm-kernel, linux-kernel, Arnd Bergmann, Linus WALLEIJ,
	Srinidhi KASAGAR, broonie

On Fri, Jun 7, 2013 at 6:11 PM, Lee Jones <lee.jones@linaro.org> wrote:

> This patch aims to do the following:
>
>  - Separate the AB8500 External Regulator out from the AB8500 core
>    one for added control and reduced complexity
>  - Enable the AB8500 External Regulator for Device Tree
>  - Ensure EXT3 supplies the AUX regulators with voltage

The series:
Acked-by: Linus Walleij <linus.walleij@linaro.org>

Once the changes to MFD+Regulator are in I'm happy to take the
DT patches onto my ux500-devicetree branch. However I fear
I'll break something if I do it right now?

Yours,
Linus Walleij

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

* Re: [PATCH 00/10] regulator: ab8500-ext: Refactorings
  2013-06-10 14:35 ` [PATCH 00/10] regulator: ab8500-ext: Refactorings Linus Walleij
@ 2013-06-10 15:12   ` Lee Jones
  2013-06-10 15:25     ` Mark Brown
  0 siblings, 1 reply; 22+ messages in thread
From: Lee Jones @ 2013-06-10 15:12 UTC (permalink / raw)
  To: Linus Walleij
  Cc: linux-arm-kernel, linux-kernel, Arnd Bergmann, Linus WALLEIJ,
	Srinidhi KASAGAR, broonie

On Mon, 10 Jun 2013, Linus Walleij wrote:

> On Fri, Jun 7, 2013 at 6:11 PM, Lee Jones <lee.jones@linaro.org> wrote:
> 
> > This patch aims to do the following:
> >
> >  - Separate the AB8500 External Regulator out from the AB8500 core
> >    one for added control and reduced complexity
> >  - Enable the AB8500 External Regulator for Device Tree
> >  - Ensure EXT3 supplies the AUX regulators with voltage
> 
> The series:
> Acked-by: Linus Walleij <linus.walleij@linaro.org>
> 
> Once the changes to MFD+Regulator are in I'm happy to take the
> DT patches onto my ux500-devicetree branch. However I fear
> I'll break something if I do it right now?

You can apply all of the DTS changes, no problem.

The 'ux500: regulator_supply' patch, relies on the 'regulator:
supply_name' one however. Mark has taken two of them, I don't know why
the others were missed/intentionally left.

Mark, was there a reason for this?

-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

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

* Re: [PATCH 01/10] ARM: ux500: Add Device Tree nodes for AB8500 External regulators
  2013-06-07 16:11 ` [PATCH 01/10] ARM: ux500: Add Device Tree nodes for AB8500 External regulators Lee Jones
@ 2013-06-10 15:17   ` Linus Walleij
  0 siblings, 0 replies; 22+ messages in thread
From: Linus Walleij @ 2013-06-10 15:17 UTC (permalink / raw)
  To: Lee Jones
  Cc: linux-arm-kernel, linux-kernel, Arnd Bergmann, Linus WALLEIJ,
	Srinidhi KASAGAR, broonie

On Fri, Jun 7, 2013 at 6:11 PM, Lee Jones <lee.jones@linaro.org> wrote:

> The AB8500 has 3 external regulators which are used to control outside
> voltage sources. Some of the core AB8500 use these external regulators
> as a supply, so they must be obtainable via Device Tree.
>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>

Applied to my ux500-devicetree branch.

Yours,
Linus Walleij

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

* Re: [PATCH 02/10] ARM: ux500: Provide a supply name for the AB8500 AUX regulators to use
  2013-06-07 16:11 ` [PATCH 02/10] ARM: ux500: Provide a supply name for the AB8500 AUX regulators to use Lee Jones
@ 2013-06-10 15:18   ` Linus Walleij
  0 siblings, 0 replies; 22+ messages in thread
From: Linus Walleij @ 2013-06-10 15:18 UTC (permalink / raw)
  To: Lee Jones
  Cc: linux-arm-kernel, linux-kernel, Arnd Bergmann, Linus WALLEIJ,
	Srinidhi KASAGAR, Mark Brown

On Fri, Jun 7, 2013 at 6:11 PM, Lee Jones <lee.jones@linaro.org> wrote:

> AB8500 AUX regulators are supplied by EXT3 on some boards. This supply
> phandle lookup will enable the regulator core to search for and locate
> the EXT3 supply at registration time.
>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>

Patch applied to my ux500-devicetree branch.

Yours,
Linus Walleij

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

* Re: [PATCH 00/10] regulator: ab8500-ext: Refactorings
  2013-06-10 15:12   ` Lee Jones
@ 2013-06-10 15:25     ` Mark Brown
  2013-06-10 15:46       ` Lee Jones
  0 siblings, 1 reply; 22+ messages in thread
From: Mark Brown @ 2013-06-10 15:25 UTC (permalink / raw)
  To: Lee Jones
  Cc: Linus Walleij, linux-arm-kernel, linux-kernel, Arnd Bergmann,
	Linus WALLEIJ, Srinidhi KASAGAR

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

On Mon, Jun 10, 2013 at 04:12:08PM +0100, Lee Jones wrote:

> The 'ux500: regulator_supply' patch, relies on the 'regulator:
> supply_name' one however. Mark has taken two of them, I don't know why
> the others were missed/intentionally left.

> Mark, was there a reason for this?

IIRC they were more involved and since you decided to pick a random
e-mail address to send them to that goes nowhere near the mailboxes I
use for upstream they're not going to bubble up particularly quickly.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* Re: [PATCH 00/10] regulator: ab8500-ext: Refactorings
  2013-06-10 15:25     ` Mark Brown
@ 2013-06-10 15:46       ` Lee Jones
  2013-06-10 16:25         ` Mark Brown
  0 siblings, 1 reply; 22+ messages in thread
From: Lee Jones @ 2013-06-10 15:46 UTC (permalink / raw)
  To: Mark Brown
  Cc: Linus Walleij, linux-arm-kernel, linux-kernel, Arnd Bergmann,
	Linus WALLEIJ, Srinidhi KASAGAR

On Mon, 10 Jun 2013, Mark Brown wrote:

> On Mon, Jun 10, 2013 at 04:12:08PM +0100, Lee Jones wrote:
> 
> > The 'ux500: regulator_supply' patch, relies on the 'regulator:
> > supply_name' one however. Mark has taken two of them, I don't know why
> > the others were missed/intentionally left.
> 
> > Mark, was there a reason for this?
> 
> IIRC they were more involved and since you decided to pick a random
> e-mail address to send them to that goes nowhere near the mailboxes I
> use for upstream they're not going to bubble up particularly quickly.

Not as random as you might think.

I knew you'd left your old place, so I did:

  `git log --author="Mark Brown" --format=%ae next/master | uniq -c | head`

... to see what you were using most recently. I recieved:

     67 broonie@linaro.org
      1 broonie@kernel.org
      1 broonie@linaro.org
     59 broonie@opensource.wolfsonmicro.com
     28 broonie@sirena.org.uk
    763 broonie@opensource.wolfsonmicro.com
      1 broonie@sirena.org.uk
    428 broonie@opensource.wolfsonmicro.com
      1 broonie@sirena.org.uk
     23 broonie@opensource.wolfsonmicro.com

... hence why I used your linaro address.

I'll send it out again to your kernel.org one if it make you happy. :)

-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

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

* Re: [PATCH 00/10] regulator: ab8500-ext: Refactorings
  2013-06-10 15:46       ` Lee Jones
@ 2013-06-10 16:25         ` Mark Brown
  0 siblings, 0 replies; 22+ messages in thread
From: Mark Brown @ 2013-06-10 16:25 UTC (permalink / raw)
  To: Lee Jones
  Cc: Linus Walleij, linux-arm-kernel, linux-kernel, Arnd Bergmann,
	Linus WALLEIJ, Srinidhi KASAGAR

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

On Mon, Jun 10, 2013 at 04:46:33PM +0100, Lee Jones wrote:
> On Mon, 10 Jun 2013, Mark Brown wrote:

> > IIRC they were more involved and since you decided to pick a random
> > e-mail address to send them to that goes nowhere near the mailboxes I
> > use for upstream they're not going to bubble up particularly quickly.

> Not as random as you might think.

> I knew you'd left your old place, so I did:

>   `git log --author="Mark Brown" --format=%ae next/master | uniq -c | head`

> ... to see what you were using most recently. I recieved:

You should use the addresses people are actually advertising, falling
back on git only if there's a problem with that for some reason.  In
this case I updated my contact details in MAINTAINERS for exactly this
reason.

> I'll send it out again to your kernel.org one if it make you happy. :)

Well, I don't care that much - if there's not a patch

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* Re: [PATCH 08/10] regulator: ab8500-ext: Register as a device in its own right
  2013-06-07 16:11 ` [PATCH 08/10] regulator: ab8500-ext: Register as a device in its own right Lee Jones
@ 2013-06-11 11:50   ` Mark Brown
  0 siblings, 0 replies; 22+ messages in thread
From: Mark Brown @ 2013-06-11 11:50 UTC (permalink / raw)
  To: Lee Jones
  Cc: linux-arm-kernel, linux-kernel, arnd, linus.walleij, srinidhi.kasagar

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

On Fri, Jun 07, 2013 at 05:11:26PM +0100, Lee Jones wrote:
> Some platforms don't support the AB8500 external regulators, so instead
> of having a list of is_<platform>() calls prior to calling
> ab8500_ext_regulator_init() from ab8500_regulator_probe(), we can only
> register as a platform device on platforms which require them. It means
> we also have more control over them when booting with Device Tree.

Applied the rest of these, thanks.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* Re: [PATCH 09/10] regulator: ab8500-ext: Enable for Device Tree
  2013-06-07 16:11 ` [PATCH 09/10] regulator: ab8500-ext: Enable for Device Tree Lee Jones
@ 2013-06-11 11:52   ` Mark Brown
  0 siblings, 0 replies; 22+ messages in thread
From: Mark Brown @ 2013-06-11 11:52 UTC (permalink / raw)
  To: Lee Jones
  Cc: linux-arm-kernel, linux-kernel, arnd, linus.walleij, srinidhi.kasagar

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

On Fri, Jun 07, 2013 at 05:11:27PM +0100, Lee Jones wrote:

> +static struct of_regulator_match ab8500_ext_regulator_match[] = {
> +	{ .name = "ab8500_ext1", .driver_data = (void *) AB8500_EXT_SUPPLY1, },
> +	{ .name = "ab8500_ext2", .driver_data = (void *) AB8500_EXT_SUPPLY2, },
> +	{ .name = "ab8500_ext3", .driver_data = (void *) AB8500_EXT_SUPPLY3, },
> +};

Should be a binding document update for these.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

end of thread, other threads:[~2013-06-11 11:52 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-07 16:11 [PATCH 00/10] regulator: ab8500-ext: Refactorings Lee Jones
2013-06-07 16:11 ` [PATCH 01/10] ARM: ux500: Add Device Tree nodes for AB8500 External regulators Lee Jones
2013-06-10 15:17   ` Linus Walleij
2013-06-07 16:11 ` [PATCH 02/10] ARM: ux500: Provide a supply name for the AB8500 AUX regulators to use Lee Jones
2013-06-10 15:18   ` Linus Walleij
2013-06-07 16:11 ` [PATCH 03/10] ARM: ux500: Supply external regulator names for Snowball's DT Lee Jones
2013-06-07 16:11 ` [PATCH 04/10] ARM: ux500: Provide the supply regulator through consumers Lee Jones
2013-06-07 16:11 ` [PATCH 05/10] mfd: ab8500-core: Add AB8500 external regulators as MFD devices Lee Jones
2013-06-07 16:11 ` [PATCH 06/10] regulator: ab8500: Ensure AB8500 external registers are probed first Lee Jones
2013-06-07 16:51   ` Mark Brown
2013-06-07 16:11 ` [PATCH 07/10] regulator: ab8500-ext: Provide a set_voltage call-back operation Lee Jones
2013-06-07 16:52   ` Mark Brown
2013-06-07 16:11 ` [PATCH 08/10] regulator: ab8500-ext: Register as a device in its own right Lee Jones
2013-06-11 11:50   ` Mark Brown
2013-06-07 16:11 ` [PATCH 09/10] regulator: ab8500-ext: Enable for Device Tree Lee Jones
2013-06-11 11:52   ` Mark Brown
2013-06-07 16:11 ` [PATCH 10/10] regulator: ab8500: Provide supply names for the AUX regulators Lee Jones
2013-06-10 14:35 ` [PATCH 00/10] regulator: ab8500-ext: Refactorings Linus Walleij
2013-06-10 15:12   ` Lee Jones
2013-06-10 15:25     ` Mark Brown
2013-06-10 15:46       ` Lee Jones
2013-06-10 16:25         ` 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).