From: "Thierry Reding" <thierry.reding@gmail.com>
To: "Miguel Miranda" <mmikernel@gmail.com>, <jonathanh@nvidia.com>,
<linux-tegra@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Cc: <skhan@linuxfoundation.org>, <javier.carrasco.cruz@gmail.com>,
<julia.lawall@inria.fr>
Subject: Re: [PATCH] drivers/soc/tegra: Replace dev_node refcount management
Date: Thu, 25 Apr 2024 17:35:46 +0200 [thread overview]
Message-ID: <D0TBBT7FZ3E0.14ZFOT5S4QZPR@gmail.com> (raw)
In-Reply-To: <20240424015306.1796838-1-mmikernel@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1743 bytes --]
On Wed Apr 24, 2024 at 3:53 AM CEST, Miguel Miranda wrote:
> Remove the manual refcount management of device_node
> and instead, use scope-based resource management.
>
> While the pointer never gets out of scope it reduces
> somehow the risk of missing the of_node_put() call.
I don't understand what you're trying to say here.
> Suggested-by: Julia Lawall <julia.lawall@inria.fr>
> Signed-off-by: Miguel Miranda <mmikernel@gmail.com>
> ---
> I only have a deprecated jetson nano dev-kit, but need
> to test this on hardware. I am exploring options to
> build a rootfs to test this using qemu-system-aarch64.
It doesn't look like it'll be necessary to extensively test this. Just
by inspecting this we can see that it doesn't change behaviour. There
isn't really a big advantage to employ the __free() mechanism here since
we have exactly one of_node_put() to clean up, but I guess why not. So
maybe reword that commit message to be less confusing.
Thierry
> ---
> drivers/soc/tegra/common.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/soc/tegra/common.c b/drivers/soc/tegra/common.c
> index dff6d5ef4e46..94d11102d90f 100644
> --- a/drivers/soc/tegra/common.c
> +++ b/drivers/soc/tegra/common.c
> @@ -28,14 +28,12 @@ static const struct of_device_id tegra_machine_match[] = {
> bool soc_is_tegra(void)
> {
> const struct of_device_id *match;
> - struct device_node *root;
> + struct device_node *root __free(device_node) = of_find_node_by_path("/");
>
> - root = of_find_node_by_path("/");
> if (!root)
> return false;
>
> match = of_match_node(tegra_machine_match, root);
> - of_node_put(root);
>
> return match != NULL;
> }
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
prev parent reply other threads:[~2024-04-25 15:35 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-24 1:53 [PATCH] drivers/soc/tegra: Replace dev_node refcount management Miguel Miranda
2024-04-25 15:35 ` Thierry Reding [this message]
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=D0TBBT7FZ3E0.14ZFOT5S4QZPR@gmail.com \
--to=thierry.reding@gmail.com \
--cc=javier.carrasco.cruz@gmail.com \
--cc=jonathanh@nvidia.com \
--cc=julia.lawall@inria.fr \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=mmikernel@gmail.com \
--cc=skhan@linuxfoundation.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.