All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Nuno Sá" <nuno.sa@analog.com>
To: linux-kernel@vger.kernel.org,
	"Bartosz Golaszewski" <brgl@bgdev.pl>,
	"Dmitry Torokhov" <dmitry.torokhov@gmail.com>,
	devicetree@vger.kernel.org, linux-gpio@vger.kernel.org,
	"Linus Walleij" <linus.walleij@linaro.org>,
	linux-input@vger.kernel.org, "Nuno Sá" <nuno.sa@analog.com>
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Michael Hennerich <michael.hennerich@analog.com>
Subject: [PATCH v4 09/10] input: keyboard: adp5588-keys: add regulator support
Date: Mon, 29 Aug 2022 15:15:52 +0200	[thread overview]
Message-ID: <20220829131553.690063-10-nuno.sa@analog.com> (raw)
In-Reply-To: <20220829131553.690063-1-nuno.sa@analog.com>

Support feeding VCC through a regulator.

Signed-off-by: Nuno Sá <nuno.sa@analog.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
---
 drivers/input/keyboard/adp5588-keys.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/drivers/input/keyboard/adp5588-keys.c b/drivers/input/keyboard/adp5588-keys.c
index b2bb7c6702e1..0e6f4a47bb9c 100644
--- a/drivers/input/keyboard/adp5588-keys.c
+++ b/drivers/input/keyboard/adp5588-keys.c
@@ -24,6 +24,7 @@
 #include <linux/pinctrl/pinconf-generic.h>
 #include <linux/platform_device.h>
 #include <linux/pm.h>
+#include <linux/regulator/consumer.h>
 #include <linux/slab.h>
 #include <linux/timekeeping.h>
 
@@ -711,12 +712,18 @@ static int adp5588_fw_parse(struct adp5588_kpad *kpad)
 	return 0;
 }
 
+static void adp5588_disable_regulator(void *reg)
+{
+	regulator_disable(reg);
+}
+
 static int adp5588_probe(struct i2c_client *client,
 			 const struct i2c_device_id *id)
 {
 	struct adp5588_kpad *kpad;
 	struct input_dev *input;
 	struct gpio_desc *gpio;
+	struct regulator *vcc;
 	unsigned int revid;
 	int ret;
 	int error;
@@ -742,6 +749,18 @@ static int adp5588_probe(struct i2c_client *client,
 	if (error)
 		return error;
 
+	vcc = devm_regulator_get(&client->dev, "vcc");
+	if (IS_ERR(vcc))
+		return PTR_ERR(vcc);
+
+	ret = regulator_enable(vcc);
+	if (ret)
+		return ret;
+
+	ret = devm_add_action_or_reset(&client->dev, adp5588_disable_regulator, vcc);
+	if (ret)
+		return ret;
+
 	gpio = devm_gpiod_get_optional(&client->dev, "reset", GPIOD_OUT_HIGH);
 	if (IS_ERR(gpio))
 		return PTR_ERR(gpio);
-- 
2.37.2


  parent reply	other threads:[~2022-08-29 13:17 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-29 13:15 [PATCH v4 00/10] adp5588-keys refactor and fw properties support Nuno Sá
2022-08-29 13:15 ` [PATCH v4 01/10] input: keyboard: adp5588-keys: support gpi key events as 'gpio keys' Nuno Sá
2022-08-29 14:18   ` Andy Shevchenko
2022-08-31 12:37   ` Linus Walleij
2022-08-29 13:15 ` [PATCH v4 02/10] gpio: gpio-adp5588: drop the driver Nuno Sá
2022-08-31 12:21   ` Linus Walleij
2022-08-31 12:22     ` Linus Walleij
2022-08-31 12:24       ` Sa, Nuno
2022-08-29 13:15 ` [PATCH v4 03/10] input: keyboard: adp5588-keys: bail out on returned error Nuno Sá
2022-08-29 13:15 ` [PATCH v4 04/10] input: keyboard: adp5588-keys: add support for fw properties Nuno Sá
2022-08-29 13:15 ` [PATCH v4 05/10] dt-bindings: input: adp5588: add bindings Nuno Sá
2022-08-29 13:15 ` [PATCH v4 06/10] input: keyboard: adp5588-keys: do not check for irq presence Nuno Sá
2022-08-29 13:15 ` [PATCH v4 07/10] input: keyboard: adp5588-keys: fix coding style warnings Nuno Sá
2022-08-29 13:15 ` [PATCH v4 08/10] input: keyboard: adp5588-keys: add optional reset gpio Nuno Sá
2022-08-29 13:15 ` Nuno Sá [this message]
2022-08-29 13:15 ` [PATCH v4 10/10] input: keyboard: adp5588-keys: Use new PM macros Nuno Sá
2022-08-31  4:19 ` [PATCH v4 00/10] adp5588-keys refactor and fw properties support Dmitry Torokhov

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=20220829131553.690063-10-nuno.sa@analog.com \
    --to=nuno.sa@analog.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=brgl@bgdev.pl \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michael.hennerich@analog.com \
    --cc=robh+dt@kernel.org \
    /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.