All of lore.kernel.org
 help / color / mirror / Atom feed
From: Linus Walleij <linus.walleij@linaro.org>
To: Liam Girdwood <lgirdwood@gmail.com>, Mark Brown <broonie@kernel.org>
Cc: linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org,
	Linus Walleij <linus.walleij@linaro.org>,
	MyungJoo Ham <myungjoo.ham@samsung.com>
Subject: [PATCH 11/21] regulator: max8952: Pass descriptor instead of GPIO number
Date: Mon, 12 Feb 2018 14:17:07 +0100	[thread overview]
Message-ID: <20180212131717.27193-12-linus.walleij@linaro.org> (raw)
In-Reply-To: <20180212131717.27193-1-linus.walleij@linaro.org>

Instead of passing a global GPIO number for the enable GPIO, pass
a descriptor looked up with the standard devm_gpiod_get_optional()
call.

All users of this regulator use device tree so the transition is
pretty smooth.

Cc: MyungJoo Ham <myungjoo.ham@samsung.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 drivers/regulator/max8952.c       | 18 +++++++++++++-----
 include/linux/regulator/max8952.h |  1 -
 2 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/drivers/regulator/max8952.c b/drivers/regulator/max8952.c
index 1096546c05e9..f1e77ed5dfec 100644
--- a/drivers/regulator/max8952.c
+++ b/drivers/regulator/max8952.c
@@ -27,6 +27,7 @@
 #include <linux/regulator/driver.h>
 #include <linux/regulator/max8952.h>
 #include <linux/gpio.h>
+#include <linux/gpio/consumer.h>
 #include <linux/io.h>
 #include <linux/of.h>
 #include <linux/of_gpio.h>
@@ -148,7 +149,6 @@ static struct max8952_platform_data *max8952_parse_dt(struct device *dev)
 
 	pd->gpio_vid0 = of_get_named_gpio(np, "max8952,vid-gpios", 0);
 	pd->gpio_vid1 = of_get_named_gpio(np, "max8952,vid-gpios", 1);
-	pd->gpio_en = of_get_named_gpio(np, "max8952,en-gpio", 0);
 
 	if (of_property_read_u32(np, "max8952,default-mode", &pd->default_mode))
 		dev_warn(dev, "Default mode not specified, assuming 0\n");
@@ -197,6 +197,8 @@ static int max8952_pmic_probe(struct i2c_client *client,
 	struct regulator_config config = { };
 	struct max8952_data *max8952;
 	struct regulator_dev *rdev;
+	struct gpio_desc *gpiod;
+	enum gpiod_flags gflags;
 
 	int ret = 0, err = 0;
 
@@ -224,11 +226,17 @@ static int max8952_pmic_probe(struct i2c_client *client,
 	config.driver_data = max8952;
 	config.of_node = client->dev.of_node;
 
-	config.ena_gpio = pdata->gpio_en;
-	if (client->dev.of_node)
-		config.ena_gpio_initialized = true;
 	if (pdata->reg_data->constraints.boot_on)
-		config.ena_gpio_flags |= GPIOF_OUT_INIT_HIGH;
+		gflags = GPIOD_OUT_HIGH;
+	else
+		gflags = GPIOD_OUT_LOW;
+	gpiod = devm_gpiod_get_optional(&client->dev,
+					"max8952,en",
+					gflags);
+	if (IS_ERR(gpiod))
+		return PTR_ERR(gpiod);
+	if (gpiod)
+		config.ena_gpiod = gpiod;
 
 	rdev = devm_regulator_register(&client->dev, &regulator, &config);
 	if (IS_ERR(rdev)) {
diff --git a/include/linux/regulator/max8952.h b/include/linux/regulator/max8952.h
index 4dbb63a1d4ab..686c42c041b5 100644
--- a/include/linux/regulator/max8952.h
+++ b/include/linux/regulator/max8952.h
@@ -120,7 +120,6 @@ enum {
 struct max8952_platform_data {
 	int gpio_vid0;
 	int gpio_vid1;
-	int gpio_en;
 
 	u32 default_mode;
 	u32 dvs_mode[MAX8952_NUM_DVS_MODE]; /* MAX8952_DVS_MODEx_XXXXmV */
-- 
2.14.3

  parent reply	other threads:[~2018-02-12 13:17 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-12 13:16 [PATCH 00/21] regulator: switch core to GPIO descriptors Linus Walleij
2018-02-12 13:16 ` [PATCH 01/21] regulator: core: Support passing an initialized GPIO enable descriptor Linus Walleij
2018-02-16 17:12   ` Applied "regulator: core: Support passing an initialized GPIO enable descriptor" to the regulator tree Mark Brown
2018-02-16 17:12     ` Mark Brown
2018-02-12 13:16 ` [PATCH 02/21] regulator: fixed: Convert to use GPIO descriptor only Linus Walleij
2018-02-12 15:13   ` Andy Shevchenko
2018-04-19 12:36     ` Linus Walleij
2018-02-12 13:16 ` [PATCH 03/21] regulator: gpio: Get enable GPIO using GPIO descriptor Linus Walleij
2018-05-29 14:59   ` Applied "regulator: gpio: Get enable GPIO using GPIO descriptor" to the regulator tree Mark Brown
2018-05-29 14:59     ` Mark Brown
2018-02-12 13:17 ` [PATCH 04/21] regulator: da9055: Pass descriptor instead of GPIO number Linus Walleij
2018-02-12 14:59   ` Lee Jones
2018-02-16 17:12   ` Applied "regulator: da9055: Pass descriptor instead of GPIO number" to the regulator tree Mark Brown
2018-02-16 17:12     ` Mark Brown
2018-02-12 13:17 ` [PATCH 05/21] regulator: arizona-ldo1: Look up a descriptor and pass to the core Linus Walleij
2018-02-13 11:06   ` Charles Keepax
2018-02-13 11:06     ` Charles Keepax
2018-04-19 13:43     ` Linus Walleij
2018-04-19 15:02       ` Charles Keepax
2018-04-19 15:02         ` Charles Keepax
2018-02-13 11:51   ` Charles Keepax
2018-02-13 11:51     ` Charles Keepax
2018-02-12 13:17 ` [PATCH 06/21] regulator: da9211: Pass descriptors instead of GPIO numbers Linus Walleij
2018-02-16 17:12   ` Applied "regulator: da9211: Pass descriptors instead of GPIO numbers" to the regulator tree Mark Brown
2018-02-16 17:12     ` Mark Brown
2018-02-12 13:17 ` [PATCH 07/21] regulator: max8973: Pass descriptor instead of GPIO number Linus Walleij
2018-05-24 19:14   ` Applied "regulator: max8973: Pass descriptor instead of GPIO number" to the regulator tree Mark Brown
2018-05-24 19:14     ` Mark Brown
2018-02-12 13:17 ` [PATCH 08/21] regulator: max77686: Pass descriptor instead of GPIO number Linus Walleij
2018-02-12 13:37   ` Krzysztof Kozlowski
2018-02-12 13:17 ` [PATCH 09/21] regulator: lm363x: " Linus Walleij
2018-05-24 19:14   ` Applied "regulator: lm363x: Pass descriptor instead of GPIO number" to the regulator tree Mark Brown
2018-05-24 19:14     ` Mark Brown
2018-02-12 13:17 ` [PATCH 10/21] regulator: lp8788-ldo: Pass descriptor instead of GPIO number Linus Walleij
2018-02-12 14:59   ` Lee Jones
2018-05-24 19:14   ` Applied "regulator: lp8788-ldo: Pass descriptor instead of GPIO number" to the regulator tree Mark Brown
2018-05-24 19:14     ` Mark Brown
2018-02-12 13:17 ` Linus Walleij [this message]
2018-05-24 19:14   ` Applied "regulator: max8952: " Mark Brown
2018-05-24 19:14     ` Mark Brown
2018-02-12 13:17 ` [PATCH 12/21] regulator: pfuze100: Delete reference to ena_gpio Linus Walleij
2018-05-24 19:14   ` Applied "regulator: pfuze100: Delete reference to ena_gpio" to the regulator tree Mark Brown
2018-05-24 19:14     ` Mark Brown
2018-02-12 13:17 ` [PATCH 13/21] regulator: s2mps11: Pass descriptor instead of GPIO number Linus Walleij
2018-05-17 16:41   ` Applied "regulator: s2mps11: Pass descriptor instead of GPIO number" to the regulator tree Mark Brown
2018-05-17 16:41     ` Mark Brown
2018-02-12 13:17 ` [PATCH 14/21] regulator: s5m8767: Pass descriptor instead of GPIO number Linus Walleij
2018-02-12 14:58   ` Lee Jones
2018-05-24 19:13   ` Applied "regulator: s5m8767: Pass descriptor instead of GPIO number" to the regulator tree Mark Brown
2018-05-24 19:13     ` Mark Brown
2018-02-12 13:17 ` [PATCH 15/21] regulator: tps65090: Pass descriptor instead of GPIO number Linus Walleij
2018-02-12 14:58   ` Lee Jones
2018-05-24 19:13   ` Applied "regulator: tps65090: Pass descriptor instead of GPIO number" to the regulator tree Mark Brown
2018-05-24 19:13     ` Mark Brown
2018-02-12 13:17 ` [PATCH 16/21] regulator: wm8994: Pass descriptor instead of GPIO number Linus Walleij
2018-02-12 14:58   ` Lee Jones
2018-02-13 11:11   ` Charles Keepax
2018-02-13 11:11     ` Charles Keepax
2018-04-19 13:55     ` Linus Walleij
2018-04-19 14:05       ` Mark Brown
2018-04-19 15:01       ` [PATCH] ARM: s3c64xx: Tidy up handling of regulator GPIO lookups Charles Keepax
2018-04-19 15:01         ` Charles Keepax
2018-05-14  5:54         ` Linus Walleij
2018-02-13 11:52   ` [PATCH 16/21] regulator: wm8994: Pass descriptor instead of GPIO number Charles Keepax
2018-02-13 11:52     ` Charles Keepax
2018-02-12 13:17 ` [PATCH 17/21] regulator: core: Only support passing enable GPIO descriptors Linus Walleij
2018-02-12 13:17 ` [PATCH 18/21] regulator: fixed/gpio: Pull inversion/OD into gpiolib Linus Walleij
2018-02-17  9:59   ` Robert Jarzmik
2018-02-12 13:17 ` [PATCH 19/21] regulator: fixed/gpio: Update device tree bindings Linus Walleij
2018-02-19  2:41   ` Rob Herring
2018-02-12 13:17 ` [PATCH 20/21] regulator: gpio: Convert to fully use descriptors Linus Walleij
2018-02-12 13:17 ` [PATCH 21/21] regulator: gpio: Simplify probe path Linus Walleij

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180212131717.27193-12-linus.walleij@linaro.org \
    --to=linus.walleij@linaro.org \
    --cc=broonie@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=myungjoo.ham@samsung.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.