diff mbox series

[RESEND,v2,3/3] regulator: lp87565: Add 4-phase lp87561 regulator support

Message ID 20190612144620.28331-1-j-keerthy@ti.com (mailing list archive)
State New, archived
Headers show
Series None | expand

Commit Message

J, KEERTHY June 12, 2019, 2:46 p.m. UTC
The LP8756x family has a single output 4-phase regulator
configuration. Add support for the same. The control
lies in the master buck which is buck0 for 4-phase
configuration. Enable/disable/voltage set happen via
buck0 registers.

Data Sheet: https://www.ti.com/lit/ds/symlink/lp87561-q1.pdf

Signed-off-by: Keerthy <j-keerthy@ti.com>
Acked-by: Mark Brown <broonie@kernel.org>
---

patches 1/3 2/3 are already applied to linux-next.

Changes in v2:

  * Changed if/else block to switch statement.

 drivers/regulator/lp87565-regulator.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

Comments

Mark Brown June 13, 2019, 3:45 p.m. UTC | #1
On Wed, Jun 12, 2019 at 08:16:20PM +0530, Keerthy wrote:

> patches 1/3 2/3 are already applied to linux-next.

This doesn't build without those patches:

  CC      drivers/regulator/lp87565-regulator.o
drivers/regulator/lp87565-regulator.c:156:32: error: ‘LP87565_BUCK_3210’ undeclared here (not in a function); did you mean ‘LP87565_BUCK_10’?
  LP87565_REGULATOR("BUCK3210", LP87565_BUCK_3210, "buck3210",
                                ^~~~~~~~~~~~~~~~~
J, KEERTHY June 13, 2019, 5:02 p.m. UTC | #2
On 6/13/2019 9:15 PM, Mark Brown wrote:
> On Wed, Jun 12, 2019 at 08:16:20PM +0530, Keerthy wrote:
> 
>> patches 1/3 2/3 are already applied to linux-next.
> 
> This doesn't build without those patches:

They are already on next. Do you want me to resend them as well?

> 
>    CC      drivers/regulator/lp87565-regulator.o
> drivers/regulator/lp87565-regulator.c:156:32: error: ‘LP87565_BUCK_3210’ undeclared here (not in a function); did you mean ‘LP87565_BUCK_10’?
>    LP87565_REGULATOR("BUCK3210", LP87565_BUCK_3210, "buck3210",
>                                  ^~~~~~~~~~~~~~~~~
>
Mark Brown June 13, 2019, 5:32 p.m. UTC | #3
On Thu, Jun 13, 2019 at 10:32:45PM +0530, keerthy wrote:
> On 6/13/2019 9:15 PM, Mark Brown wrote:
> > On Wed, Jun 12, 2019 at 08:16:20PM +0530, Keerthy wrote:

> > > patches 1/3 2/3 are already applied to linux-next.

> > This doesn't build without those patches:

> They are already on next. Do you want me to resend them as well?

That's no good, it still breaks the build of my tree.  I can't apply
this until the code is in my tree, either through a shared branch or
through Lihus' tree.  I see I acked the patch, I'll have been expecting
the patch to be applied to Lee's tree.  If that's not possible or
there's no branch then please resend after the merge window.
J, KEERTHY June 13, 2019, 6:09 p.m. UTC | #4
On 6/13/2019 11:02 PM, Mark Brown wrote:
> On Thu, Jun 13, 2019 at 10:32:45PM +0530, keerthy wrote:
>> On 6/13/2019 9:15 PM, Mark Brown wrote:
>>> On Wed, Jun 12, 2019 at 08:16:20PM +0530, Keerthy wrote:
> 
>>>> patches 1/3 2/3 are already applied to linux-next.
> 
>>> This doesn't build without those patches:
> 
>> They are already on next. Do you want me to resend them as well?
> 
> That's no good, it still breaks the build of my tree.  I can't apply
> this until the code is in my tree, either through a shared branch or
> through Lihus' tree.  I see I acked the patch, I'll have been expecting
> the patch to be applied to Lee's tree.  If that's not possible or
> there's no branch then please resend after the merge window.

Lee Jones,

Could you please pull this patch?

- Keerthy
>
diff mbox series

Patch

diff --git a/drivers/regulator/lp87565-regulator.c b/drivers/regulator/lp87565-regulator.c
index 81eb4b890c0c..af00d1ffcf33 100644
--- a/drivers/regulator/lp87565-regulator.c
+++ b/drivers/regulator/lp87565-regulator.c
@@ -153,6 +153,12 @@  static const struct lp87565_regulator regulators[] = {
 			  LP87565_REG_BUCK2_CTRL_1,
 			  LP87565_BUCK_CTRL_1_EN, 3230,
 			  buck0_1_2_3_ranges, LP87565_REG_BUCK2_CTRL_2),
+	LP87565_REGULATOR("BUCK3210", LP87565_BUCK_3210, "buck3210",
+			  lp87565_buck_ops, 256, LP87565_REG_BUCK0_VOUT,
+			  LP87565_BUCK_VSET, LP87565_REG_BUCK0_CTRL_1,
+			  LP87565_BUCK_CTRL_1_EN |
+			  LP87565_BUCK_CTRL_1_FPWM_MP_0_2, 3230,
+			  buck0_1_2_3_ranges, LP87565_REG_BUCK0_CTRL_2),
 };
 
 static int lp87565_regulator_probe(struct platform_device *pdev)
@@ -169,9 +175,18 @@  static int lp87565_regulator_probe(struct platform_device *pdev)
 	config.driver_data = lp87565;
 	config.regmap = lp87565->regmap;
 
-	if (lp87565->dev_type == LP87565_DEVICE_TYPE_LP87565_Q1) {
+	switch (lp87565->dev_type) {
+	case LP87565_DEVICE_TYPE_LP87565_Q1:
 		min_idx = LP87565_BUCK_10;
 		max_idx = LP87565_BUCK_23;
+		break;
+	case LP87565_DEVICE_TYPE_LP87561_Q1:
+		min_idx = LP87565_BUCK_3210;
+		max_idx = LP87565_BUCK_3210;
+	default:
+		dev_err(lp87565->dev, "Invalid lp config %d\n",
+			lp87565->dev_type);
+		return -EINVAL;
 	}
 
 	for (i = min_idx; i <= max_idx; i++) {