From: Bartosz Golaszewski <brgl@bgdev.pl>
To: Aaro Koskinen <aaro.koskinen@iki.fi>,
Janusz Krzysztofik <jmkrzyszt@gmail.com>,
Tony Lindgren <tony@atomide.com>,
Russell King <linux@armlinux.org.uk>,
Mika Westerberg <mika.westerberg@linux.intel.com>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Linus Walleij <linus.walleij@linaro.org>,
Bartosz Golaszewski <brgl@bgdev.pl>,
Dipen Patel <dipenp@nvidia.com>,
Thierry Reding <thierry.reding@gmail.com>,
Jonathan Hunter <jonathanh@nvidia.com>,
Hans de Goede <hdegoede@redhat.com>,
Mark Gross <markgross@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org,
linux-acpi@vger.kernel.org, timestamp@lists.linux.dev,
linux-tegra@vger.kernel.org, platform-driver-x86@vger.kernel.org,
Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Subject: [PATCH 17/21] gpio: of: replace gpiochip_find_* with gpio_device_find_*
Date: Tue, 5 Sep 2023 20:53:05 +0200 [thread overview]
Message-ID: <20230905185309.131295-18-brgl@bgdev.pl> (raw)
In-Reply-To: <20230905185309.131295-1-brgl@bgdev.pl>
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
We're porting all users of gpiochip_find() to using gpio_device_find().
Update the OF GPIO code.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
drivers/gpio/gpiolib-of.c | 32 ++++++++++++++++----------------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c
index 5515f32cf19b..9b087f93e049 100644
--- a/drivers/gpio/gpiolib-of.c
+++ b/drivers/gpio/gpiolib-of.c
@@ -127,10 +127,10 @@ static int of_gpiochip_match_node_and_xlate(struct gpio_chip *chip, void *data)
chip->of_xlate(chip, gpiospec, NULL) >= 0;
}
-static struct gpio_chip *of_find_gpiochip_by_xlate(
- struct of_phandle_args *gpiospec)
+static struct gpio_device *
+of_find_gpio_device_by_xlate(struct of_phandle_args *gpiospec)
{
- return gpiochip_find(gpiospec, of_gpiochip_match_node_and_xlate);
+ return gpio_device_find(gpiospec, of_gpiochip_match_node_and_xlate);
}
static struct gpio_desc *of_xlate_and_get_gpiod_flags(struct gpio_chip *chip,
@@ -362,8 +362,8 @@ static void of_gpio_flags_quirks(const struct device_node *np,
static struct gpio_desc *of_get_named_gpiod_flags(const struct device_node *np,
const char *propname, int index, enum of_gpio_flags *flags)
{
+ struct gpio_device *gdev __free(gpio_device_put) = NULL;
struct of_phandle_args gpiospec;
- struct gpio_chip *chip;
struct gpio_desc *desc;
int ret;
@@ -375,13 +375,13 @@ static struct gpio_desc *of_get_named_gpiod_flags(const struct device_node *np,
return ERR_PTR(ret);
}
- chip = of_find_gpiochip_by_xlate(&gpiospec);
- if (!chip) {
+ gdev = of_find_gpio_device_by_xlate(&gpiospec);
+ if (!gdev) {
desc = ERR_PTR(-EPROBE_DEFER);
goto out;
}
- desc = of_xlate_and_get_gpiod_flags(chip, &gpiospec, flags);
+ desc = of_xlate_and_get_gpiod_flags(gdev->chip, &gpiospec, flags);
if (IS_ERR(desc))
goto out;
@@ -813,16 +813,16 @@ static int of_gpiochip_match_node(struct gpio_chip *chip, void *data)
return device_match_of_node(&chip->gpiodev->dev, data);
}
-static struct gpio_chip *of_find_gpiochip_by_node(struct device_node *np)
+static struct gpio_device *of_find_gpio_device_by_node(struct device_node *np)
{
- return gpiochip_find(np, of_gpiochip_match_node);
+ return gpio_device_find(np, of_gpiochip_match_node);
}
static int of_gpio_notify(struct notifier_block *nb, unsigned long action,
void *arg)
{
+ struct gpio_device *gdev __free(gpio_device_put) = NULL;
struct of_reconfig_data *rd = arg;
- struct gpio_chip *chip;
int ret;
/*
@@ -839,11 +839,11 @@ static int of_gpio_notify(struct notifier_block *nb, unsigned long action,
if (of_node_test_and_set_flag(rd->dn, OF_POPULATED))
return NOTIFY_DONE;
- chip = of_find_gpiochip_by_node(rd->dn->parent);
- if (chip == NULL)
+ gdev = of_find_gpio_device_by_node(rd->dn->parent);
+ if (!gdev)
return NOTIFY_DONE; /* not for us */
- ret = of_gpiochip_add_hog(chip, rd->dn);
+ ret = of_gpiochip_add_hog(gdev->chip, rd->dn);
if (ret < 0) {
pr_err("%s: failed to add hogs for %pOF\n", __func__,
rd->dn);
@@ -856,11 +856,11 @@ static int of_gpio_notify(struct notifier_block *nb, unsigned long action,
if (!of_node_check_flag(rd->dn, OF_POPULATED))
return NOTIFY_DONE; /* already depopulated */
- chip = of_find_gpiochip_by_node(rd->dn->parent);
- if (chip == NULL)
+ gdev = of_find_gpio_device_by_node(rd->dn->parent);
+ if (!gdev)
return NOTIFY_DONE; /* not for us */
- of_gpiochip_remove_hog(chip, rd->dn);
+ of_gpiochip_remove_hog(gdev->chip, rd->dn);
of_node_clear_flag(rd->dn, OF_POPULATED);
return NOTIFY_OK;
}
--
2.39.2
next prev parent reply other threads:[~2023-09-05 19:13 UTC|newest]
Thread overview: 87+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-05 18:52 [PATCH 00/21] gpio: convert users to gpio_device_find() and remove gpiochip_find() Bartosz Golaszewski
2023-09-05 18:52 ` [PATCH 01/21] gpiolib: make gpio_device_get() and gpio_device_put() public Bartosz Golaszewski
2023-09-07 7:02 ` Linus Walleij
2023-09-05 18:52 ` [PATCH 02/21] gpiolib: provide gpio_device_find() Bartosz Golaszewski
2023-09-06 14:10 ` Andy Shevchenko
2023-09-11 13:14 ` Bartosz Golaszewski
2023-09-07 7:05 ` Linus Walleij
2023-09-05 18:52 ` [PATCH 03/21] gpiolib: provide gpio_device_find_by_label() Bartosz Golaszewski
2023-09-06 14:13 ` Andy Shevchenko
2023-09-07 7:06 ` Linus Walleij
2023-09-05 18:52 ` [PATCH 04/21] gpiolib: provide gpio_device_get_desc() Bartosz Golaszewski
2023-09-06 14:15 ` Andy Shevchenko
2023-09-07 7:07 ` Linus Walleij
2023-09-05 18:52 ` [PATCH 05/21] gpiolib: add support for scope-based management to gpio_device Bartosz Golaszewski
2023-09-07 7:09 ` Linus Walleij
2023-09-05 18:52 ` [PATCH 06/21] gpiolib: provide gpiod_to_device() Bartosz Golaszewski
2023-09-06 14:17 ` Andy Shevchenko
2023-09-07 7:10 ` Linus Walleij
2023-09-05 18:52 ` [PATCH 07/21] gpiolib: provide gpio_device_get_base() Bartosz Golaszewski
2023-09-07 7:17 ` Linus Walleij
2023-09-07 7:57 ` Bartosz Golaszewski
2023-10-03 20:32 ` Dipen Patel
2023-09-05 18:52 ` [PATCH 08/21] gpio: acpi: provide acpi_gpio_device_free_interrupts() Bartosz Golaszewski
2023-09-06 7:10 ` Mika Westerberg
2023-09-05 18:52 ` [PATCH 09/21] gpiolib: reluctantly provide gpio_device_get_chip() Bartosz Golaszewski
2023-09-07 7:19 ` Linus Walleij
2023-09-05 18:52 ` [PATCH 10/21] gpiolib: replace find_chip_by_name() with gpio_device_find_by_label() Bartosz Golaszewski
2023-09-06 14:23 ` Andy Shevchenko
2023-09-07 7:20 ` Linus Walleij
2023-09-05 18:52 ` [RFT PATCH 11/21] platform: x86: android-tablets: don't access GPIOLIB private members Bartosz Golaszewski
2023-09-06 13:01 ` Hans de Goede
2023-09-06 14:27 ` Bartosz Golaszewski
2023-09-09 14:17 ` Hans de Goede
2023-09-11 10:05 ` Andy Shevchenko
2023-09-05 18:53 ` [PATCH 12/21] hte: allow building modules with COMPILE_TEST enabled Bartosz Golaszewski
2023-09-07 7:22 ` Linus Walleij
2023-09-07 7:31 ` Bartosz Golaszewski
2023-09-05 18:53 ` [PATCH 13/21] hte: tegra194: improve the GPIO-related comment Bartosz Golaszewski
2023-09-07 7:24 ` Linus Walleij
2023-09-05 18:53 ` [RFT PATCH 14/21] hte: tegra194: don't access struct gpio_chip Bartosz Golaszewski
2023-09-06 14:47 ` Andy Shevchenko
2023-09-07 7:28 ` Linus Walleij
2023-10-04 12:00 ` Bartosz Golaszewski
2023-10-04 20:30 ` Dipen Patel
2023-10-04 20:33 ` Dipen Patel
2023-10-04 22:54 ` Dipen Patel
2023-10-04 23:51 ` Dipen Patel
2023-10-05 13:48 ` Bartosz Golaszewski
2023-10-05 18:12 ` Dipen Patel
2023-10-05 19:05 ` Bartosz Golaszewski
2023-10-05 19:43 ` Dipen Patel
2023-10-05 19:47 ` Bartosz Golaszewski
2023-10-09 6:48 ` Bartosz Golaszewski
2023-10-09 16:34 ` Dipen Patel
2023-10-09 17:46 ` Dipen Patel
2023-09-05 18:53 ` [RFT PATCH 15/21] arm: omap1: ams-delta: stop using gpiochip_find() Bartosz Golaszewski
2023-09-06 14:48 ` Andy Shevchenko
2023-09-06 14:56 ` Bartosz Golaszewski
2023-09-07 7:31 ` Linus Walleij
2023-09-08 18:07 ` Janusz Krzysztofik
2023-09-11 11:09 ` Bartosz Golaszewski
2023-09-11 12:50 ` Tony Lindgren
2023-09-11 17:17 ` Janusz Krzysztofik
2023-09-07 7:35 ` Linus Walleij
2023-09-07 7:57 ` Bartosz Golaszewski
2023-10-04 11:59 ` Bartosz Golaszewski
2023-09-05 18:53 ` [PATCH 16/21] gpio: of: correct notifier return codes Bartosz Golaszewski
2023-09-07 7:36 ` Linus Walleij
2023-09-05 18:53 ` Bartosz Golaszewski [this message]
2023-09-07 7:37 ` [PATCH 17/21] gpio: of: replace gpiochip_find_* with gpio_device_find_* Linus Walleij
2023-09-07 7:38 ` Linus Walleij
2023-09-05 18:53 ` [PATCH 18/21] gpio: acpi: replace gpiochip_find() with gpio_device_find() Bartosz Golaszewski
2023-09-06 14:50 ` Andy Shevchenko
2023-09-07 7:39 ` Linus Walleij
2023-09-05 18:53 ` [PATCH 19/21] gpio: swnode: replace gpiochip_find() with gpio_device_find_by_label() Bartosz Golaszewski
2023-09-06 14:52 ` Andy Shevchenko
2023-09-07 7:40 ` Linus Walleij
2024-01-24 14:59 ` Paul Cercueil
2024-01-24 15:04 ` Bartosz Golaszewski
2024-01-24 15:11 ` Paul Cercueil
2024-01-24 15:18 ` Paul Cercueil
2023-09-05 18:53 ` [PATCH 20/21] gpio: sysfs: drop the mention of gpiochip_find() from sysfs code Bartosz Golaszewski
2023-09-07 7:40 ` Linus Walleij
2023-09-05 18:53 ` [PATCH 21/21] gpiolib: remove gpiochip_find() Bartosz Golaszewski
2023-09-06 14:53 ` Andy Shevchenko
2023-09-07 7:42 ` Linus Walleij
2023-09-07 7:00 ` [PATCH 00/21] gpio: convert users to gpio_device_find() and " 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=20230905185309.131295-18-brgl@bgdev.pl \
--to=brgl@bgdev.pl \
--cc=aaro.koskinen@iki.fi \
--cc=andriy.shevchenko@linux.intel.com \
--cc=bartosz.golaszewski@linaro.org \
--cc=dipenp@nvidia.com \
--cc=hdegoede@redhat.com \
--cc=jmkrzyszt@gmail.com \
--cc=jonathanh@nvidia.com \
--cc=linus.walleij@linaro.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=markgross@kernel.org \
--cc=mika.westerberg@linux.intel.com \
--cc=platform-driver-x86@vger.kernel.org \
--cc=thierry.reding@gmail.com \
--cc=timestamp@lists.linux.dev \
--cc=tony@atomide.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 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).