From: Frank Rowand <frowand.list@gmail.com>
To: Geert Uytterhoeven <geert+renesas@glider.be>,
Linus Walleij <linus.walleij@linaro.org>,
Bartosz Golaszewski <bgolaszewski@baylibre.com>,
Pantelis Antoniou <pantelis.antoniou@konsulko.com>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>
Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>,
Chris Brandt <chris.brandt@renesas.com>,
linux-gpio@vger.kernel.org, devicetree@vger.kernel.org,
linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 1/2] gpio: of: Extract of_gpiochip_add_hog()
Date: Thu, 20 Feb 2020 12:50:56 -0600 [thread overview]
Message-ID: <7b902253-cb5c-d192-0a94-788f4d59c7b5@gmail.com> (raw)
In-Reply-To: <20200220130149.26283-2-geert+renesas@glider.be>
On 2/20/20 7:01 AM, Geert Uytterhoeven wrote:
> Extract the code to add all GPIO hogs of a gpio-hog node into its own
> function, so it can be reused.
>
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
> v2:
> - No changes.
> ---
> drivers/gpio/gpiolib-of.c | 49 ++++++++++++++++++++++++++-------------
> 1 file changed, 33 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c
> index c6d30f73df078e0b..2b47f93886075294 100644
> --- a/drivers/gpio/gpiolib-of.c
> +++ b/drivers/gpio/gpiolib-of.c
> @@ -604,6 +604,35 @@ static struct gpio_desc *of_parse_own_gpio(struct device_node *np,
> return desc;
> }
>
> +/**
> + * of_gpiochip_add_hog - Add all hogs in a hog device node
> + * @chip: gpio chip to act on
> + * @hog: device node describing the hogs
> + *
> + * Returns error if it fails otherwise 0 on success.
> + */
> +static int of_gpiochip_add_hog(struct gpio_chip *chip, struct device_node *hog)
> +{
> + enum gpiod_flags dflags;
> + struct gpio_desc *desc;
> + unsigned long lflags;
> + const char *name;
> + unsigned int i;
> + int ret;
> +
> + for (i = 0;; i++) {
> + desc = of_parse_own_gpio(hog, chip, i, &name, &lflags, &dflags);
> + if (IS_ERR(desc))
> + break;
> +
> + ret = gpiod_hog(desc, name, lflags, dflags);
> + if (ret < 0)
> + return ret;
> + }
> +
> + return 0;
> +}
> +
> /**
> * of_gpiochip_scan_gpios - Scan gpio-controller for gpio definitions
> * @chip: gpio chip to act on
> @@ -614,29 +643,17 @@ static struct gpio_desc *of_parse_own_gpio(struct device_node *np,
> */
> static int of_gpiochip_scan_gpios(struct gpio_chip *chip)
> {
> - struct gpio_desc *desc = NULL;
> struct device_node *np;
> - const char *name;
> - unsigned long lflags;
> - enum gpiod_flags dflags;
> - unsigned int i;
> int ret;
>
> for_each_available_child_of_node(chip->of_node, np) {
> if (!of_property_read_bool(np, "gpio-hog"))
> continue;
>
> - for (i = 0;; i++) {
> - desc = of_parse_own_gpio(np, chip, i, &name, &lflags,
> - &dflags);
> - if (IS_ERR(desc))
> - break;
> -
> - ret = gpiod_hog(desc, name, lflags, dflags);
> - if (ret < 0) {
> - of_node_put(np);
> - return ret;
> - }
> + ret = of_gpiochip_add_hog(chip, np);
> + if (ret < 0) {
> + of_node_put(np);
> + return ret;
> }
> }
>
>
Reviewed-by: Frank Rowand <frank.rowand@sony.com>
next prev parent reply other threads:[~2020-02-20 18:51 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-20 13:01 [PATCH v2 0/2] gpio: of: Add DT overlay support for GPIO hogs Geert Uytterhoeven
2020-02-20 13:01 ` [PATCH v2 1/2] gpio: of: Extract of_gpiochip_add_hog() Geert Uytterhoeven
2020-02-20 18:50 ` Frank Rowand [this message]
2020-02-21 16:08 ` Linus Walleij
2020-02-21 17:18 ` Frank Rowand
2020-02-21 17:20 ` Frank Rowand
2020-02-28 22:43 ` Linus Walleij
2020-03-02 19:57 ` Frank Rowand
2020-02-20 13:01 ` [PATCH v2 2/2] gpio: of: Add DT overlay support for GPIO hogs Geert Uytterhoeven
2020-02-20 18:51 ` Frank Rowand
2020-02-21 16:10 ` 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=7b902253-cb5c-d192-0a94-788f4d59c7b5@gmail.com \
--to=frowand.list@gmail.com \
--cc=bgolaszewski@baylibre.com \
--cc=chris.brandt@renesas.com \
--cc=devicetree@vger.kernel.org \
--cc=geert+renesas@glider.be \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=pantelis.antoniou@konsulko.com \
--cc=peter.ujfalusi@ti.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.