From: David Gibson <david@gibson.dropbear.id.au>
To: "Niklas Söderlund" <niklas.soderlund+renesas@ragnatech.se>
Cc: Rob Herring <robh@kernel.org>,
Saravana Kannan <saravanak@google.com>,
Geert Uytterhoeven <geert+renesas@glider.be>,
devicetree-compiler@vger.kernel.org,
linux-renesas-soc@vger.kernel.org
Subject: Re: [PATCH] checks: Document possible false warning for graph child addresses
Date: Tue, 8 Jul 2025 13:07:12 +1000 [thread overview]
Message-ID: <aGyLYBoJ0c0UcN-8@zatzit> (raw)
In-Reply-To: <20250706122638.1040347-1-niklas.soderlund+renesas@ragnatech.se>
[-- Attachment #1: Type: text/plain, Size: 2903 bytes --]
On Sun, Jul 06, 2025 at 02:26:38PM +0200, Niklas Söderlund wrote:
> The dtc graph_child_address check can't distinguish between bindings
> where there can only be a single endpoint, and cases where there can be
> multiple endpoints.
>
> In cases where the bindings allow for multiple endpoints but only one is
> described false warnings about unnecessary #address-cells/#size-cells
> can be generated, but only if the endpoint described have an address of
> 0 (A), for single endpoints with a non-zero address (B) no warnings are
> generated.
>
> A)
> ports {
> #address-cells = <1>;
> #size-cells = <0>;
>
> port@0 {
> #address-cells = <1>;
> #size-cells = <0>;
>
> sourceA: endpoint@0 {
> reg = <0>
> };
> };
> };
>
> B)
> ports {
> #address-cells = <1>;
> #size-cells = <0>;
>
> port@0 {
> #address-cells = <1>;
> #size-cells = <0>;
>
> sourceB: endpoint@1 {
> reg = <1>
> };
> };
> };
>
> Add a comment in the check to document this.
Hm. I don't know the graph bindings at all well, so I'll take your
word for it on what's happening here. But simply documenting this
within the code doesn't seem particularly useful. Someone running dtc
will still see the bogus error, and they'd have a pretty long way to
go to find this explanation.
Probably better to simply remove the check (and maybe comment that it
would be nice to check further, but we can't adequately it from a
valid case).
>
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> ---
> Hello,
>
> This was previously part of a patch posted to devicetree@vger.kernel.org
> [1], but as Rob's points out in that thread it should have been posted
> separately to devicetree-compiler@vger.kernel.org. Sorry for not
> realising that dtc changes go to thru a separate tree.
>
> 1. https://lore.kernel.org/all/20250702085008.689727-1-niklas.soderlund%2Brenesas@ragnatech.se/
> ---
> checks.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/checks.c b/checks.c
> index 123f2eb425f4..52d09fcf8d3a 100644
> --- a/checks.c
> +++ b/checks.c
> @@ -1913,6 +1913,11 @@ static void check_graph_child_address(struct check *c, struct dt_info *dti,
> cnt++;
> }
>
> + /*
> + * This check can produce false warnings if the bindings allow for more
> + * then one endpoint in the node but only one is present and it has a
> + * unit address of zero.
> + */
> if (cnt == 1 && node->addr_cells != -1)
> FAIL(c, dti, node, "graph node has single child node '%s', #address-cells/#size-cells are not necessary",
> node->children->name);
--
David Gibson (he or they) | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you, not the other way
| around.
http://www.ozlabs.org/~dgibson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2025-07-08 3:07 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-06 12:26 [PATCH] checks: Document possible false warning for graph child addresses Niklas Söderlund
2025-07-08 3:07 ` David Gibson [this message]
2025-07-08 7:51 ` Niklas Söderlund
2025-07-08 11:43 ` Rob Herring
2025-07-18 6:35 ` David Gibson
2025-07-18 9:30 ` Niklas Söderlund
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=aGyLYBoJ0c0UcN-8@zatzit \
--to=david@gibson.dropbear.id.au \
--cc=devicetree-compiler@vger.kernel.org \
--cc=geert+renesas@glider.be \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=niklas.soderlund+renesas@ragnatech.se \
--cc=robh@kernel.org \
--cc=saravanak@google.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).