From: "Álvaro Fernández Rojas" <noltari@gmail.com>
To: jonas.gorski@gmail.com, kylehendrydev@gmail.com,
florian.fainelli@broadcom.com, linus.walleij@linaro.org,
bcm-kernel-feedback-list@broadcom.com,
linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: "Álvaro Fernández Rojas" <noltari@gmail.com>
Subject: [PATCH 2/2] pinctrl: bcm63xx: implement gpio_regmap request/free
Date: Tue, 7 Jan 2025 11:27:35 +0100 [thread overview]
Message-ID: <20250107102735.317446-3-noltari@gmail.com> (raw)
In-Reply-To: <20250107102735.317446-1-noltari@gmail.com>
Implement pinctrl gpio request/free functions on gpio_regmap, which ensures
calling gpio_request_enable on bcm63xx pinctrl drivers when a gpio is
requested.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
drivers/pinctrl/bcm/pinctrl-bcm63xx.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/drivers/pinctrl/bcm/pinctrl-bcm63xx.c b/drivers/pinctrl/bcm/pinctrl-bcm63xx.c
index 59d2ce8462d8..4abd52613dfe 100644
--- a/drivers/pinctrl/bcm/pinctrl-bcm63xx.c
+++ b/drivers/pinctrl/bcm/pinctrl-bcm63xx.c
@@ -6,10 +6,12 @@
* Copyright (C) 2016 Jonas Gorski <jonas.gorski@gmail.com>
*/
+#include <linux/gpio/driver.h>
#include <linux/gpio/regmap.h>
#include <linux/mfd/syscon.h>
#include <linux/mod_devicetable.h>
#include <linux/of.h>
+#include <linux/pinctrl/consumer.h>
#include <linux/platform_device.h>
#include "pinctrl-bcm63xx.h"
@@ -32,6 +34,16 @@ static int bcm63xx_reg_mask_xlate(struct gpio_regmap *gpio,
return 0;
}
+static int bcm63xx_request(struct gpio_chip *chip, unsigned int offset)
+{
+ return pinctrl_gpio_request(chip, offset);
+}
+
+static void bcm63xx_free(struct gpio_chip *chip, unsigned int offset)
+{
+ pinctrl_gpio_free(chip, offset);
+}
+
static const struct of_device_id bcm63xx_gpio_of_match[] = {
{ .compatible = "brcm,bcm6318-gpio", },
{ .compatible = "brcm,bcm6328-gpio", },
@@ -57,6 +69,8 @@ static int bcm63xx_gpio_probe(struct device *dev, struct device_node *node,
grc.reg_dir_out_base = BCM63XX_DIROUT_REG;
grc.reg_set_base = BCM63XX_DATA_REG;
grc.reg_mask_xlate = bcm63xx_reg_mask_xlate;
+ grc.request = bcm63xx_request;
+ grc.free = bcm63xx_free;
return PTR_ERR_OR_ZERO(devm_gpio_regmap_register(dev, &grc));
}
--
2.39.5
next prev parent reply other threads:[~2025-01-07 10:27 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-07 10:27 [PATCH 0/2] pinctrl: bcm63xx: properly request gpios Álvaro Fernández Rojas
2025-01-07 10:27 ` [PATCH 1/2] gpio: regmap: add request/free gpio_chip functions Álvaro Fernández Rojas
2025-01-07 10:43 ` Jonas Gorski
2025-01-07 19:57 ` Álvaro Fernández Rojas
2025-01-07 10:27 ` Álvaro Fernández Rojas [this message]
2025-01-14 12:36 ` [PATCH 0/2] pinctrl: bcm63xx: properly request gpios 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=20250107102735.317446-3-noltari@gmail.com \
--to=noltari@gmail.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=florian.fainelli@broadcom.com \
--cc=jonas.gorski@gmail.com \
--cc=kylehendrydev@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.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.