Linux-GPIO Archive mirror
 help / color / mirror / Atom feed
From: Andrew Jeffery <andrew@codeconstruct.com.au>
To: "Peng Fan (OSS)" <peng.fan@oss.nxp.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Thierry Reding <thierry.reding@gmail.com>,
	 Jonathan Hunter <jonathanh@nvidia.com>,
	Dvorkin Dmitry <dvorkin@tibbo.com>,
	Wells Lu <wellslutw@gmail.com>,
	 Maxime Coquelin <mcoquelin.stm32@gmail.com>,
	Alexandre Torgue <alexandre.torgue@foss.st.com>,
	Emil Renner Berthing <kernel@esmil.dk>,
	Jianlong Huang <jianlong.huang@starfivetech.com>,
	Hal Feng <hal.feng@starfivetech.com>,
	Orson Zhai <orsonzhai@gmail.com>,
	Baolin Wang <baolin.wang@linux.alibaba.com>,
	Chunyan Zhang <zhang.lyra@gmail.com>,
	 Viresh Kumar <vireshk@kernel.org>,
	Shiraz Hashim <shiraz.linux.kernel@gmail.com>,
	soc@kernel.org,  Krzysztof Kozlowski <krzk@kernel.org>,
	Sylwester Nawrocki <s.nawrocki@samsung.com>,
	Alim Akhtar <alim.akhtar@samsung.com>,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	 Patrice Chotard <patrice.chotard@foss.st.com>,
	Heiko Stuebner <heiko@sntech.de>,
	Damien Le Moal <dlemoal@kernel.org>,
	 Ludovic Desroches <ludovic.desroches@microchip.com>,
	Nicolas Ferre <nicolas.ferre@microchip.com>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Claudiu Beznea <claudiu.beznea@tuxon.dev>,
	Dong Aisheng <aisheng.dong@nxp.com>,
	Fabio Estevam <festevam@gmail.com>,
	Shawn Guo <shawnguo@kernel.org>,  Jacky Bai <ping.bai@nxp.com>,
	Pengutronix Kernel Team <kernel@pengutronix.de>,
	Chester Lin <chester62515@gmail.com>,
	Matthias Brugger <mbrugger@suse.com>,
	Ghennadi Procopciuc <ghennadi.procopciuc@oss.nxp.com>,
	Sean Wang <sean.wang@kernel.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	 Joel Stanley <joel@jms.id.au>,
	Dan Carpenter <dan.carpenter@linaro.org>
Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,
	 linux-tegra@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	 linux-stm32@st-md-mailman.stormreply.com,
	linux-samsung-soc@vger.kernel.org,
	 linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	 linux-riscv@lists.infradead.org,
	linux-mediatek@lists.infradead.org,  imx@lists.linux.dev,
	linux-aspeed@lists.ozlabs.org, openbmc@lists.ozlabs.org,
	 Peng Fan <peng.fan@nxp.com>
Subject: Re: [PATCH 20/21] pinctrl: aspeed: g5: Use scope based of_node_put() cleanups
Date: Thu, 02 May 2024 10:23:58 +0930	[thread overview]
Message-ID: <eda5b1da03d4adfa5761c49527a9232ec7facae3.camel@codeconstruct.com.au> (raw)
In-Reply-To: <20240501-pinctrl-cleanup-v1-20-797ceca46e5c@nxp.com>

On Wed, 2024-05-01 at 20:56 +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
> 
> Use scope based of_node_put() cleanup to simplify code.
> 
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
>  drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c b/drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c
> index 5bb8fd0d1e41..61fbfddb5938 100644
> --- a/drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c
> +++ b/drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c
> @@ -2629,14 +2629,13 @@ static struct regmap *aspeed_g5_acquire_regmap(struct aspeed_pinmux_data *ctx,
>  		return ctx->maps[ip];
>  
>  	if (ip == ASPEED_IP_GFX) {
> -		struct device_node *node;
> +		struct device_node *node __free(device_node) = NULL;
>  		struct regmap *map;
>  
>  		node = of_parse_phandle(ctx->dev->of_node,
>  					"aspeed,external-nodes", 0);
>  		if (node) {
>  			map = syscon_node_to_regmap(node);
> -			of_node_put(node);
>  			if (IS_ERR(map))
>  				return map;
>  		} else
> @@ -2648,7 +2647,7 @@ static struct regmap *aspeed_g5_acquire_regmap(struct aspeed_pinmux_data *ctx,
>  	}
>  
>  	if (ip == ASPEED_IP_LPC) {
> -		struct device_node *np;
> +		struct device_node *np __free(device_node) = NULL;
>  		struct regmap *map;
>  
>  		np = of_parse_phandle(ctx->dev->of_node,
> @@ -2660,7 +2659,6 @@ static struct regmap *aspeed_g5_acquire_regmap(struct aspeed_pinmux_data *ctx,
>  				return ERR_PTR(-ENODEV);
>  
>  			map = syscon_node_to_regmap(np->parent);
> -			of_node_put(np);
>  			if (IS_ERR(map))
>  				return map;

I think I agree with Krzysztof's feedback on the Samsung patch[1], and
that I prefer the existing approach for the Aspeed driver. My reasoning
suggests the existing implementation does the right thing. That said,
the code could be adjusted to use early returns and consistent variable
names, which might make it easier to reason about. I'll consider a
follow-up patch to address that.

Regardless, thanks for taking the time to explore the cleanup.

Andrew

[1]: https://lore.kernel.org/lkml/34193501-5b7b-4ffd-8549-a04c6930d02d@kernel.org/

>  		} else
> 


  reply	other threads:[~2024-05-02  0:54 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-01 12:55 [PATCH 00/21] pinctrl: Use scope based of_node_put() cleanups Peng Fan (OSS)
2024-05-01 12:55 ` [PATCH 01/21] pinctrl: ti: iodelay: " Peng Fan (OSS)
2024-05-01 13:32   ` Dan Carpenter
2024-05-02  0:28     ` Peng Fan
2024-05-02  7:05       ` Dan Carpenter
2024-05-01 12:56 ` [PATCH 02/21] pinctrl: tegra: " Peng Fan (OSS)
2024-05-01 12:56 ` [PATCH 03/21] pinctrl: sunplus: " Peng Fan (OSS)
2024-05-01 12:56 ` [PATCH 04/21] pinctrl: stm32: " Peng Fan (OSS)
2024-05-01 12:56 ` [PATCH 05/21] pinctrl: starfive: " Peng Fan (OSS)
2024-05-01 13:30   ` Emil Renner Berthing
2024-05-01 12:56 ` [PATCH 06/21] pinctrl: sprd: " Peng Fan (OSS)
2024-05-01 12:56 ` [PATCH 07/21] pinctrl: spear: " Peng Fan (OSS)
2024-05-01 12:56 ` [PATCH 08/21] pinctrl: samsung: " Peng Fan (OSS)
2024-05-01 16:34   ` Krzysztof Kozlowski
2024-05-01 23:25     ` Peng Fan
2024-05-01 12:56 ` [PATCH 09/21] pinctrl: renesas: " Peng Fan (OSS)
2024-05-01 12:56 ` [PATCH 10/21] pinctrl: st: " Peng Fan (OSS)
2024-05-01 17:16   ` Dan Carpenter
2024-05-01 12:56 ` [PATCH 11/21] pinctrl: rockchip: " Peng Fan (OSS)
2024-05-01 12:56 ` [PATCH 12/21] pinctrl: k210: " Peng Fan (OSS)
2024-05-02  9:45   ` Damien Le Moal
2024-05-01 12:56 ` [PATCH 13/21] pinctrl: equilibrium: " Peng Fan (OSS)
2024-05-01 12:56 ` [PATCH 14/21] pinctrl: at91: " Peng Fan (OSS)
2024-05-01 12:56 ` [PATCH 15/21] pinctrl: s32cc: " Peng Fan (OSS)
2024-05-01 12:56 ` [PATCH 16/21] pinctrl: nomadik: " Peng Fan (OSS)
2024-05-01 12:56 ` [PATCH 17/21] pinctrl: mediatek: " Peng Fan (OSS)
2024-05-01 12:56 ` [PATCH 18/21] pinctrl: freescale: " Peng Fan (OSS)
2024-05-01 12:56 ` [PATCH 19/21] pinctrl: bcm: bcm63xx: " Peng Fan (OSS)
2024-05-01 12:56 ` [PATCH 20/21] pinctrl: aspeed: g5: " Peng Fan (OSS)
2024-05-02  0:53   ` Andrew Jeffery [this message]
2024-05-02 11:52     ` Peng Fan
2024-05-01 12:56 ` [PATCH 21/21] pinctrl: pinconf-generic: " Peng Fan (OSS)
2024-05-03  7:19 ` [PATCH 00/21] pinctrl: " Linus Walleij
2024-05-03 23:11   ` Peng Fan

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=eda5b1da03d4adfa5761c49527a9232ec7facae3.camel@codeconstruct.com.au \
    --to=andrew@codeconstruct.com.au \
    --cc=aisheng.dong@nxp.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=alexandre.torgue@foss.st.com \
    --cc=alim.akhtar@samsung.com \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=baolin.wang@linux.alibaba.com \
    --cc=chester62515@gmail.com \
    --cc=claudiu.beznea@tuxon.dev \
    --cc=dan.carpenter@linaro.org \
    --cc=dlemoal@kernel.org \
    --cc=dvorkin@tibbo.com \
    --cc=festevam@gmail.com \
    --cc=geert+renesas@glider.be \
    --cc=ghennadi.procopciuc@oss.nxp.com \
    --cc=hal.feng@starfivetech.com \
    --cc=heiko@sntech.de \
    --cc=imx@lists.linux.dev \
    --cc=jianlong.huang@starfivetech.com \
    --cc=joel@jms.id.au \
    --cc=jonathanh@nvidia.com \
    --cc=kernel@esmil.dk \
    --cc=kernel@pengutronix.de \
    --cc=krzk@kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-aspeed@lists.ozlabs.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=linux-tegra@vger.kernel.org \
    --cc=ludovic.desroches@microchip.com \
    --cc=matthias.bgg@gmail.com \
    --cc=mbrugger@suse.com \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=nicolas.ferre@microchip.com \
    --cc=openbmc@lists.ozlabs.org \
    --cc=orsonzhai@gmail.com \
    --cc=patrice.chotard@foss.st.com \
    --cc=peng.fan@nxp.com \
    --cc=peng.fan@oss.nxp.com \
    --cc=ping.bai@nxp.com \
    --cc=s.hauer@pengutronix.de \
    --cc=s.nawrocki@samsung.com \
    --cc=sean.wang@kernel.org \
    --cc=shawnguo@kernel.org \
    --cc=shiraz.linux.kernel@gmail.com \
    --cc=soc@kernel.org \
    --cc=thierry.reding@gmail.com \
    --cc=vireshk@kernel.org \
    --cc=wellslutw@gmail.com \
    --cc=zhang.lyra@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 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 read-only IMAP folder(s) and NNTP newsgroup(s).