From: Neil Armstrong <narmstrong@baylibre.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Gregory CLEMENT <gregory.clement@bootlin.com>,
Geert Uytterhoeven <geert+renesas@glider.be>,
Fabien Dessenne <fabien.dessenne@foss.st.com>,
Linus Walleij <linus.walleij@linaro.org>,
linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-amlogic@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-renesas-soc@vger.kernel.org,
linux-stm32@st-md-mailman.stormreply.com
Cc: Kevin Hilman <khilman@baylibre.com>,
Jerome Brunet <jbrunet@baylibre.com>,
Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
Andrew Lunn <andrew@lunn.ch>,
Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
Maxime Coquelin <mcoquelin.stm32@gmail.com>,
Alexandre Torgue <alexandre.torgue@foss.st.com>,
Bartosz Golaszewski <brgl@bgdev.pl>
Subject: Re: [PATCH v1 4/5] pinctrl: meson: Replace custom code by gpiochip_count() call
Date: Tue, 29 Mar 2022 14:29:21 +0200 [thread overview]
Message-ID: <3697fe0f-7b6b-764f-8cdb-d925c0944fb0@baylibre.com> (raw)
In-Reply-To: <20220325200338.54270-4-andriy.shevchenko@linux.intel.com>
On 25/03/2022 21:03, Andy Shevchenko wrote:
> Since we have generic function to count GPIO controller nodes
> under given device, there is no need to open code it. Replace
> custom code by gpiochip_count() call.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
> drivers/pinctrl/meson/pinctrl-meson.c | 28 ++++++++++++---------------
> 1 file changed, 12 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/pinctrl/meson/pinctrl-meson.c b/drivers/pinctrl/meson/pinctrl-meson.c
> index 49851444a6e3..7db70d4e214a 100644
> --- a/drivers/pinctrl/meson/pinctrl-meson.c
> +++ b/drivers/pinctrl/meson/pinctrl-meson.c
> @@ -49,6 +49,7 @@
> #include <linux/pinctrl/pinctrl.h>
> #include <linux/pinctrl/pinmux.h>
> #include <linux/platform_device.h>
> +#include <linux/property.h>
> #include <linux/regmap.h>
> #include <linux/seq_file.h>
>
> @@ -662,27 +663,22 @@ static struct regmap *meson_map_resource(struct meson_pinctrl *pc,
> return devm_regmap_init_mmio(pc->dev, base, &meson_regmap_config);
> }
>
> -static int meson_pinctrl_parse_dt(struct meson_pinctrl *pc,
> - struct device_node *node)
> +static int meson_pinctrl_parse_dt(struct meson_pinctrl *pc)
> {
> - struct device_node *np, *gpio_np = NULL;
> + struct device_node *gpio_np;
> + unsigned int chips;
>
> - for_each_child_of_node(node, np) {
> - if (!of_find_property(np, "gpio-controller", NULL))
> - continue;
> - if (gpio_np) {
> - dev_err(pc->dev, "multiple gpio nodes\n");
> - of_node_put(np);
> - return -EINVAL;
> - }
> - gpio_np = np;
> - }
> -
> - if (!gpio_np) {
> + chips = gpiochip_count(pc->dev);
> + if (!chips) {
> dev_err(pc->dev, "no gpio node found\n");
> return -EINVAL;
> }
> + if (chips > 1) {
> + dev_err(pc->dev, "multiple gpio nodes\n");
> + return -EINVAL;
> + }
>
> + gpio_np = to_of_node(device_get_named_child_node(pc->dev, "gpio-controller"));
> pc->of_node = gpio_np;
>
> pc->reg_mux = meson_map_resource(pc, gpio_np, "mux");
> @@ -751,7 +747,7 @@ int meson_pinctrl_probe(struct platform_device *pdev)
> pc->dev = dev;
> pc->data = (struct meson_pinctrl_data *) of_device_get_match_data(dev);
>
> - ret = meson_pinctrl_parse_dt(pc, dev->of_node);
> + ret = meson_pinctrl_parse_dt(pc);
> if (ret)
> return ret;
>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
WARNING: multiple messages have this Message-ID (diff)
From: Neil Armstrong <narmstrong@baylibre.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Gregory CLEMENT <gregory.clement@bootlin.com>,
Geert Uytterhoeven <geert+renesas@glider.be>,
Fabien Dessenne <fabien.dessenne@foss.st.com>,
Linus Walleij <linus.walleij@linaro.org>,
linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-amlogic@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-renesas-soc@vger.kernel.org,
linux-stm32@st-md-mailman.stormreply.com
Cc: Kevin Hilman <khilman@baylibre.com>,
Jerome Brunet <jbrunet@baylibre.com>,
Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
Andrew Lunn <andrew@lunn.ch>,
Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
Maxime Coquelin <mcoquelin.stm32@gmail.com>,
Alexandre Torgue <alexandre.torgue@foss.st.com>,
Bartosz Golaszewski <brgl@bgdev.pl>
Subject: Re: [PATCH v1 4/5] pinctrl: meson: Replace custom code by gpiochip_count() call
Date: Tue, 29 Mar 2022 14:29:21 +0200 [thread overview]
Message-ID: <3697fe0f-7b6b-764f-8cdb-d925c0944fb0@baylibre.com> (raw)
In-Reply-To: <20220325200338.54270-4-andriy.shevchenko@linux.intel.com>
On 25/03/2022 21:03, Andy Shevchenko wrote:
> Since we have generic function to count GPIO controller nodes
> under given device, there is no need to open code it. Replace
> custom code by gpiochip_count() call.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
> drivers/pinctrl/meson/pinctrl-meson.c | 28 ++++++++++++---------------
> 1 file changed, 12 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/pinctrl/meson/pinctrl-meson.c b/drivers/pinctrl/meson/pinctrl-meson.c
> index 49851444a6e3..7db70d4e214a 100644
> --- a/drivers/pinctrl/meson/pinctrl-meson.c
> +++ b/drivers/pinctrl/meson/pinctrl-meson.c
> @@ -49,6 +49,7 @@
> #include <linux/pinctrl/pinctrl.h>
> #include <linux/pinctrl/pinmux.h>
> #include <linux/platform_device.h>
> +#include <linux/property.h>
> #include <linux/regmap.h>
> #include <linux/seq_file.h>
>
> @@ -662,27 +663,22 @@ static struct regmap *meson_map_resource(struct meson_pinctrl *pc,
> return devm_regmap_init_mmio(pc->dev, base, &meson_regmap_config);
> }
>
> -static int meson_pinctrl_parse_dt(struct meson_pinctrl *pc,
> - struct device_node *node)
> +static int meson_pinctrl_parse_dt(struct meson_pinctrl *pc)
> {
> - struct device_node *np, *gpio_np = NULL;
> + struct device_node *gpio_np;
> + unsigned int chips;
>
> - for_each_child_of_node(node, np) {
> - if (!of_find_property(np, "gpio-controller", NULL))
> - continue;
> - if (gpio_np) {
> - dev_err(pc->dev, "multiple gpio nodes\n");
> - of_node_put(np);
> - return -EINVAL;
> - }
> - gpio_np = np;
> - }
> -
> - if (!gpio_np) {
> + chips = gpiochip_count(pc->dev);
> + if (!chips) {
> dev_err(pc->dev, "no gpio node found\n");
> return -EINVAL;
> }
> + if (chips > 1) {
> + dev_err(pc->dev, "multiple gpio nodes\n");
> + return -EINVAL;
> + }
>
> + gpio_np = to_of_node(device_get_named_child_node(pc->dev, "gpio-controller"));
> pc->of_node = gpio_np;
>
> pc->reg_mux = meson_map_resource(pc, gpio_np, "mux");
> @@ -751,7 +747,7 @@ int meson_pinctrl_probe(struct platform_device *pdev)
> pc->dev = dev;
> pc->data = (struct meson_pinctrl_data *) of_device_get_match_data(dev);
>
> - ret = meson_pinctrl_parse_dt(pc, dev->of_node);
> + ret = meson_pinctrl_parse_dt(pc);
> if (ret)
> return ret;
>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
WARNING: multiple messages have this Message-ID (diff)
From: Neil Armstrong <narmstrong@baylibre.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Gregory CLEMENT <gregory.clement@bootlin.com>,
Geert Uytterhoeven <geert+renesas@glider.be>,
Fabien Dessenne <fabien.dessenne@foss.st.com>,
Linus Walleij <linus.walleij@linaro.org>,
linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-amlogic@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-renesas-soc@vger.kernel.org,
linux-stm32@st-md-mailman.stormreply.com
Cc: Kevin Hilman <khilman@baylibre.com>,
Jerome Brunet <jbrunet@baylibre.com>,
Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
Andrew Lunn <andrew@lunn.ch>,
Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
Maxime Coquelin <mcoquelin.stm32@gmail.com>,
Alexandre Torgue <alexandre.torgue@foss.st.com>,
Bartosz Golaszewski <brgl@bgdev.pl>
Subject: Re: [PATCH v1 4/5] pinctrl: meson: Replace custom code by gpiochip_count() call
Date: Tue, 29 Mar 2022 14:29:21 +0200 [thread overview]
Message-ID: <3697fe0f-7b6b-764f-8cdb-d925c0944fb0@baylibre.com> (raw)
In-Reply-To: <20220325200338.54270-4-andriy.shevchenko@linux.intel.com>
On 25/03/2022 21:03, Andy Shevchenko wrote:
> Since we have generic function to count GPIO controller nodes
> under given device, there is no need to open code it. Replace
> custom code by gpiochip_count() call.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
> drivers/pinctrl/meson/pinctrl-meson.c | 28 ++++++++++++---------------
> 1 file changed, 12 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/pinctrl/meson/pinctrl-meson.c b/drivers/pinctrl/meson/pinctrl-meson.c
> index 49851444a6e3..7db70d4e214a 100644
> --- a/drivers/pinctrl/meson/pinctrl-meson.c
> +++ b/drivers/pinctrl/meson/pinctrl-meson.c
> @@ -49,6 +49,7 @@
> #include <linux/pinctrl/pinctrl.h>
> #include <linux/pinctrl/pinmux.h>
> #include <linux/platform_device.h>
> +#include <linux/property.h>
> #include <linux/regmap.h>
> #include <linux/seq_file.h>
>
> @@ -662,27 +663,22 @@ static struct regmap *meson_map_resource(struct meson_pinctrl *pc,
> return devm_regmap_init_mmio(pc->dev, base, &meson_regmap_config);
> }
>
> -static int meson_pinctrl_parse_dt(struct meson_pinctrl *pc,
> - struct device_node *node)
> +static int meson_pinctrl_parse_dt(struct meson_pinctrl *pc)
> {
> - struct device_node *np, *gpio_np = NULL;
> + struct device_node *gpio_np;
> + unsigned int chips;
>
> - for_each_child_of_node(node, np) {
> - if (!of_find_property(np, "gpio-controller", NULL))
> - continue;
> - if (gpio_np) {
> - dev_err(pc->dev, "multiple gpio nodes\n");
> - of_node_put(np);
> - return -EINVAL;
> - }
> - gpio_np = np;
> - }
> -
> - if (!gpio_np) {
> + chips = gpiochip_count(pc->dev);
> + if (!chips) {
> dev_err(pc->dev, "no gpio node found\n");
> return -EINVAL;
> }
> + if (chips > 1) {
> + dev_err(pc->dev, "multiple gpio nodes\n");
> + return -EINVAL;
> + }
>
> + gpio_np = to_of_node(device_get_named_child_node(pc->dev, "gpio-controller"));
> pc->of_node = gpio_np;
>
> pc->reg_mux = meson_map_resource(pc, gpio_np, "mux");
> @@ -751,7 +747,7 @@ int meson_pinctrl_probe(struct platform_device *pdev)
> pc->dev = dev;
> pc->data = (struct meson_pinctrl_data *) of_device_get_match_data(dev);
>
> - ret = meson_pinctrl_parse_dt(pc, dev->of_node);
> + ret = meson_pinctrl_parse_dt(pc);
> if (ret)
> return ret;
>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-03-29 12:29 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-25 20:03 [PATCH v1 1/5] gpiolib: Introduce gpiochip_count() helper Andy Shevchenko
2022-03-25 20:03 ` Andy Shevchenko
2022-03-25 20:03 ` Andy Shevchenko
2022-03-25 20:03 ` [PATCH v1 2/5] pinctrl: stm32: Replace custom code by gpiochip_count() call Andy Shevchenko
2022-03-25 20:03 ` Andy Shevchenko
2022-03-25 20:03 ` Andy Shevchenko
2022-03-29 7:59 ` Fabien DESSENNE
2022-03-29 7:59 ` Fabien DESSENNE
2022-03-29 7:59 ` Fabien DESSENNE
2022-03-29 11:14 ` Andy Shevchenko
2022-03-29 11:14 ` Andy Shevchenko
2022-03-29 11:14 ` Andy Shevchenko
2022-03-29 12:07 ` Fabien DESSENNE
2022-03-29 12:07 ` Fabien DESSENNE
2022-03-29 12:07 ` Fabien DESSENNE
2022-03-29 12:25 ` Andy Shevchenko
2022-03-29 12:25 ` Andy Shevchenko
2022-03-29 12:25 ` Andy Shevchenko
2022-03-25 20:03 ` [PATCH v1 3/5] pinctrl: renesas: " Andy Shevchenko
2022-03-25 20:03 ` Andy Shevchenko
2022-03-25 20:03 ` Andy Shevchenko
2022-03-25 20:03 ` [PATCH v1 4/5] pinctrl: meson: " Andy Shevchenko
2022-03-25 20:03 ` Andy Shevchenko
2022-03-25 20:03 ` Andy Shevchenko
2022-03-29 12:29 ` Neil Armstrong [this message]
2022-03-29 12:29 ` Neil Armstrong
2022-03-29 12:29 ` Neil Armstrong
2022-03-25 20:03 ` [PATCH v1 5/5] pinctrl: armada-37xx: " Andy Shevchenko
2022-03-25 20:03 ` Andy Shevchenko
2022-03-25 20:03 ` Andy Shevchenko
2022-03-26 8:41 ` Sergey Shtylyov
2022-03-26 8:41 ` Sergey Shtylyov
2022-03-26 8:41 ` Sergey Shtylyov
2022-03-27 19:58 ` Andy Shevchenko
2022-03-27 19:58 ` Andy Shevchenko
2022-03-27 19:58 ` Andy Shevchenko
2022-03-28 7:35 ` [PATCH v1 1/5] gpiolib: Introduce gpiochip_count() helper Geert Uytterhoeven
2022-03-28 7:35 ` Geert Uytterhoeven
2022-03-28 7:35 ` Geert Uytterhoeven
2022-03-28 9:14 ` Andy Shevchenko
2022-03-28 9:14 ` Andy Shevchenko
2022-03-28 9:14 ` Andy Shevchenko
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=3697fe0f-7b6b-764f-8cdb-d925c0944fb0@baylibre.com \
--to=narmstrong@baylibre.com \
--cc=alexandre.torgue@foss.st.com \
--cc=andrew@lunn.ch \
--cc=andriy.shevchenko@linux.intel.com \
--cc=brgl@bgdev.pl \
--cc=fabien.dessenne@foss.st.com \
--cc=geert+renesas@glider.be \
--cc=gregory.clement@bootlin.com \
--cc=jbrunet@baylibre.com \
--cc=khilman@baylibre.com \
--cc=linus.walleij@linaro.org \
--cc=linux-amlogic@lists.infradead.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=martin.blumenstingl@googlemail.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=sebastian.hesselbarth@gmail.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.