linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] regulator: mp5416: alphabetically sort header includes
@ 2022-06-04 14:56 Robert Marko
  2022-06-04 14:56 ` [PATCH 2/3] regulator: mp5416: use OF match data Robert Marko
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Robert Marko @ 2022-06-04 14:56 UTC (permalink / raw)
  To: sravanhome, lgirdwood, broonie, linux-kernel; +Cc: Robert Marko

Sort the header include list alphabetically.

Signed-off-by: Robert Marko <robimarko@gmail.com>
---
 drivers/regulator/mp5416.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/regulator/mp5416.c b/drivers/regulator/mp5416.c
index 39cebec0edb6..d8245080df03 100644
--- a/drivers/regulator/mp5416.c
+++ b/drivers/regulator/mp5416.c
@@ -6,14 +6,14 @@
 //
 // Author: Saravanan Sekar <sravanhome@gmail.com>
 
+#include <linux/err.h>
+#include <linux/i2c.h>
+#include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
-#include <linux/init.h>
-#include <linux/err.h>
 #include <linux/platform_device.h>
 #include <linux/regmap.h>
 #include <linux/regulator/driver.h>
-#include <linux/i2c.h>
 
 #define MP5416_REG_CTL0			0x00
 #define MP5416_REG_CTL1			0x01
-- 
2.36.1


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

* [PATCH 2/3] regulator: mp5416: use OF match data
  2022-06-04 14:56 [PATCH 1/3] regulator: mp5416: alphabetically sort header includes Robert Marko
@ 2022-06-04 14:56 ` Robert Marko
  2022-06-04 14:56 ` [PATCH 3/3] regulator: mp5416: add support for MP5496 Robert Marko
  2022-06-04 15:41 ` [PATCH 1/3] regulator: mp5416: alphabetically sort header includes Christophe JAILLET
  2 siblings, 0 replies; 5+ messages in thread
From: Robert Marko @ 2022-06-04 14:56 UTC (permalink / raw)
  To: sravanhome, lgirdwood, broonie, linux-kernel; +Cc: Robert Marko

In preparation for adding support for MP5496 which slightly differs from
MP5416 convert the driver to use OF match data instead of always using the
MP5416 regulator_desc for regulator registration.

Signed-off-by: Robert Marko <robimarko@gmail.com>
---
 drivers/regulator/mp5416.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/regulator/mp5416.c b/drivers/regulator/mp5416.c
index d8245080df03..011a825570ea 100644
--- a/drivers/regulator/mp5416.c
+++ b/drivers/regulator/mp5416.c
@@ -11,6 +11,7 @@
 #include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
+#include <linux/of_device.h>
 #include <linux/platform_device.h>
 #include <linux/regmap.h>
 #include <linux/regulator/driver.h>
@@ -178,6 +179,7 @@ static int mp5416_i2c_probe(struct i2c_client *client)
 {
 	struct device *dev = &client->dev;
 	struct regulator_config config = { NULL, };
+	static const struct regulator_desc *desc;
 	struct regulator_dev *rdev;
 	struct regmap *regmap;
 	int i;
@@ -188,12 +190,16 @@ static int mp5416_i2c_probe(struct i2c_client *client)
 		return PTR_ERR(regmap);
 	}
 
+	desc = of_device_get_match_data(dev);
+	if (!desc)
+		return -ENODEV;
+
 	config.dev = dev;
 	config.regmap = regmap;
 
 	for (i = 0; i < MP5416_MAX_REGULATORS; i++) {
 		rdev = devm_regulator_register(dev,
-					       &mp5416_regulators_desc[i],
+					       &desc[i],
 					       &config);
 		if (IS_ERR(rdev)) {
 			dev_err(dev, "Failed to register regulator!\n");
@@ -205,7 +211,7 @@ static int mp5416_i2c_probe(struct i2c_client *client)
 }
 
 static const struct of_device_id mp5416_of_match[] = {
-	{ .compatible = "mps,mp5416" },
+	{ .compatible = "mps,mp5416", .data = &mp5416_regulators_desc },
 	{},
 };
 MODULE_DEVICE_TABLE(of, mp5416_of_match);
-- 
2.36.1


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

* [PATCH 3/3] regulator: mp5416: add support for MP5496
  2022-06-04 14:56 [PATCH 1/3] regulator: mp5416: alphabetically sort header includes Robert Marko
  2022-06-04 14:56 ` [PATCH 2/3] regulator: mp5416: use OF match data Robert Marko
@ 2022-06-04 14:56 ` Robert Marko
  2022-06-04 15:41 ` [PATCH 1/3] regulator: mp5416: alphabetically sort header includes Christophe JAILLET
  2 siblings, 0 replies; 5+ messages in thread
From: Robert Marko @ 2022-06-04 14:56 UTC (permalink / raw)
  To: sravanhome, lgirdwood, broonie, linux-kernel; +Cc: Robert Marko

MP5496 is the updated version of MP5416 with the only difference being
that now all Buck regulators have the same 0.6-2.1875V range with a 12.5mV
step.

Signed-off-by: Robert Marko <robimarko@gmail.com>
---
 drivers/regulator/mp5416.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/drivers/regulator/mp5416.c b/drivers/regulator/mp5416.c
index 011a825570ea..71e20e8d78ac 100644
--- a/drivers/regulator/mp5416.c
+++ b/drivers/regulator/mp5416.c
@@ -175,6 +175,17 @@ static struct regulator_desc mp5416_regulators_desc[MP5416_MAX_REGULATORS] = {
 	MP5416LDO("ldo4", 4, BIT(1)),
 };
 
+static struct regulator_desc mp5496_regulators_desc[MP5416_MAX_REGULATORS] = {
+	MP5416BUCK("buck1", 1, mp5416_I_limits1, MP5416_REG_CTL1, BIT(0), 1),
+	MP5416BUCK("buck2", 2, mp5416_I_limits2, MP5416_REG_CTL1, BIT(1), 1),
+	MP5416BUCK("buck3", 3, mp5416_I_limits1, MP5416_REG_CTL1, BIT(2), 1),
+	MP5416BUCK("buck4", 4, mp5416_I_limits2, MP5416_REG_CTL2, BIT(5), 1),
+	MP5416LDO("ldo1", 1, BIT(4)),
+	MP5416LDO("ldo2", 2, BIT(3)),
+	MP5416LDO("ldo3", 3, BIT(2)),
+	MP5416LDO("ldo4", 4, BIT(1)),
+};
+
 static int mp5416_i2c_probe(struct i2c_client *client)
 {
 	struct device *dev = &client->dev;
@@ -212,12 +223,14 @@ static int mp5416_i2c_probe(struct i2c_client *client)
 
 static const struct of_device_id mp5416_of_match[] = {
 	{ .compatible = "mps,mp5416", .data = &mp5416_regulators_desc },
+	{ .compatible = "mps,mp5496", .data = &mp5496_regulators_desc },
 	{},
 };
 MODULE_DEVICE_TABLE(of, mp5416_of_match);
 
 static const struct i2c_device_id mp5416_id[] = {
 	{ "mp5416", },
+	{ "mp5496", },
 	{ },
 };
 MODULE_DEVICE_TABLE(i2c, mp5416_id);
-- 
2.36.1


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

* Re: [PATCH 1/3] regulator: mp5416: alphabetically sort header includes
  2022-06-04 14:56 [PATCH 1/3] regulator: mp5416: alphabetically sort header includes Robert Marko
  2022-06-04 14:56 ` [PATCH 2/3] regulator: mp5416: use OF match data Robert Marko
  2022-06-04 14:56 ` [PATCH 3/3] regulator: mp5416: add support for MP5496 Robert Marko
@ 2022-06-04 15:41 ` Christophe JAILLET
  2022-06-07 12:42   ` Robert Marko
  2 siblings, 1 reply; 5+ messages in thread
From: Christophe JAILLET @ 2022-06-04 15:41 UTC (permalink / raw)
  To: Robert Marko, sravanhome, lgirdwood, broonie, linux-kernel

Le 04/06/2022 à 16:56, Robert Marko a écrit :
> Sort the header include list alphabetically.
> 
> Signed-off-by: Robert Marko <robimarko@gmail.com>
> ---
>   drivers/regulator/mp5416.c | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/regulator/mp5416.c b/drivers/regulator/mp5416.c
> index 39cebec0edb6..d8245080df03 100644
> --- a/drivers/regulator/mp5416.c
> +++ b/drivers/regulator/mp5416.c
> @@ -6,14 +6,14 @@
>   //
>   // Author: Saravanan Sekar <sravanhome@gmail.com>
>   
> +#include <linux/err.h>
> +#include <linux/i2c.h>
> +#include <linux/init.h>
>   #include <linux/kernel.h>

Nitpick: it seems that kernel.h is not needed here. (at least it compile 
without it).

CJ

>   #include <linux/module.h>
> -#include <linux/init.h>
> -#include <linux/err.h>
>   #include <linux/platform_device.h>
>   #include <linux/regmap.h>
>   #include <linux/regulator/driver.h>
> -#include <linux/i2c.h>
>   
>   #define MP5416_REG_CTL0			0x00
>   #define MP5416_REG_CTL1			0x01


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

* Re: [PATCH 1/3] regulator: mp5416: alphabetically sort header includes
  2022-06-04 15:41 ` [PATCH 1/3] regulator: mp5416: alphabetically sort header includes Christophe JAILLET
@ 2022-06-07 12:42   ` Robert Marko
  0 siblings, 0 replies; 5+ messages in thread
From: Robert Marko @ 2022-06-07 12:42 UTC (permalink / raw)
  To: Christophe JAILLET; +Cc: sravanhome, lgirdwood, broonie, open list

On Sat, 4 Jun 2022 at 17:41, Christophe JAILLET
<christophe.jaillet@wanadoo.fr> wrote:
>
> Le 04/06/2022 à 16:56, Robert Marko a écrit :
> > Sort the header include list alphabetically.
> >
> > Signed-off-by: Robert Marko <robimarko@gmail.com>
> > ---
> >   drivers/regulator/mp5416.c | 6 +++---
> >   1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/regulator/mp5416.c b/drivers/regulator/mp5416.c
> > index 39cebec0edb6..d8245080df03 100644
> > --- a/drivers/regulator/mp5416.c
> > +++ b/drivers/regulator/mp5416.c
> > @@ -6,14 +6,14 @@
> >   //
> >   // Author: Saravanan Sekar <sravanhome@gmail.com>
> >
> > +#include <linux/err.h>
> > +#include <linux/i2c.h>
> > +#include <linux/init.h>
> >   #include <linux/kernel.h>
>
> Nitpick: it seems that kernel.h is not needed here. (at least it compile
> without it).

Hi,

It also seems to work fine without it, will send a patch to remove it.

Regards,
Robert
>
> CJ
>
> >   #include <linux/module.h>
> > -#include <linux/init.h>
> > -#include <linux/err.h>
> >   #include <linux/platform_device.h>
> >   #include <linux/regmap.h>
> >   #include <linux/regulator/driver.h>
> > -#include <linux/i2c.h>
> >
> >   #define MP5416_REG_CTL0                     0x00
> >   #define MP5416_REG_CTL1                     0x01
>

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

end of thread, other threads:[~2022-06-07 12:43 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-04 14:56 [PATCH 1/3] regulator: mp5416: alphabetically sort header includes Robert Marko
2022-06-04 14:56 ` [PATCH 2/3] regulator: mp5416: use OF match data Robert Marko
2022-06-04 14:56 ` [PATCH 3/3] regulator: mp5416: add support for MP5496 Robert Marko
2022-06-04 15:41 ` [PATCH 1/3] regulator: mp5416: alphabetically sort header includes Christophe JAILLET
2022-06-07 12:42   ` Robert Marko

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