Devicetree
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
To: sashiko-reviews@lists.linux.dev
Cc: devicetree@vger.kernel.org, robh@kernel.org, conor+dt@kernel.org
Subject: Re: [PATCH 4/9] dtc: dt-check-style: Handle sorting of top-level nodes and properties
Date: Sat, 1 Aug 2026 23:31:55 +0200	[thread overview]
Message-ID: <2e52b5d8-9499-447d-a329-166d50723bba@oss.qualcomm.com> (raw)
In-Reply-To: <7177d789-5544-43ad-977a-faf64681788c@oss.qualcomm.com>

On 01/08/2026 23:19, Krzysztof Kozlowski wrote:
> On 26/07/2026 17:57, sashiko-bot@kernel.org wrote:
>> Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
>> - [Medium] Tree hierarchy tracking in `_walk_bodies()` is broken, incorrectly assigning closed sibling nodes as parents to subsequent siblings.
>> - [Medium] `_property_bucket_root()` collapses standard and vendor properties into a single bucket, breaking canonical property ordering at the root node.
>> - [Medium] Top-level addressed nodes are exempted from address sorting but are never subjected to the node name sorting claimed in the commit message.
>> --
>>
>> --- Patch [4]: [PATCH 4/9] dtc: dt-check-style: Handle sorting of top-level nodes and properties ---
>> commit d752014f34dc3d4a2a9f9617748ec741da0cb1c5
>> Author: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
>>
>> dtc: dt-check-style: Handle sorting of top-level nodes and properties
>>
>> This commit updates the DTS styling rules for top-level nodes and properties.
>> It skips unit-address sorting for root nodes since they mix unit and non-unit
>> addresses. It also adds a special case for the 'model' property to sort before
>> 'compatible' at the root node.
>>
>>> diff --git a/scripts/dtc/dt-check-style b/scripts/dtc/dt-check-style
>>> index 1937c6feb57ec..db4451e30dfbc 100755
>>> --- a/scripts/dtc/dt-check-style
>>> +++ b/scripts/dtc/dt-check-style
>>
>> [ ... ]
>>
>>> @@ -496,15 +497,21 @@ def _walk_bodies(lines):
>>>      in the input. Skips ref-nodes (&label) since those don't have an
>>>      intrinsic ordering."""
>>>      body_stack = [[]]
>>> +    node_stack = [[]]
>>> +    parent_dl = None
>>>      for dl in lines:
>>>          if dl.linetype == LineType.NODE_OPEN:
>>> +            dl.parent = parent_dl
>>> +            node_stack.append(dl)
>>>              body_stack[-1].append(dl)
>>>              body_stack.append([])
>>> +            parent_dl = dl
>>>              continue
>>>          if dl.linetype == LineType.NODE_CLOSE:
>>>              if len(body_stack) <= 1:
>>>                  # Unbalanced; ignore to avoid crashing on malformed input
>>>                  continue
>>> +            parent_dl = node_stack.pop()
>>
>> [Severity: Medium]
>> Does this pop the node that just closed instead of the actual parent?
>>
>> When node_stack.pop() is called here, it returns the node that just closed
>> because that was the last one appended. Does this cause subsequent siblings
> 
> That's intended, since we go up in the hierarchy. Current parent should
> be now what we left on the stack.

Actually this was right.

Best regards,
Krzysztof

  reply	other threads:[~2026-08-01 21:32 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-26 15:47 [PATCH 0/9] dtc: dt-check-style: Improvements for false positives Krzysztof Kozlowski
2026-07-26 15:47 ` [PATCH 1/9] dtc: dt-check-style: Add missing /dts-v1/ to few test cases Krzysztof Kozlowski
2026-07-26 15:47 ` [PATCH 2/9] dtc: dt-check-style: Simplify setting depth of DtsLine Krzysztof Kozlowski
2026-07-26 15:47 ` [PATCH 3/9] dtc: dt-check-style: Handle root node in overlays Krzysztof Kozlowski
2026-07-26 16:00   ` sashiko-bot
2026-08-01 17:43     ` Krzysztof Kozlowski
2026-08-01 17:45       ` Krzysztof Kozlowski
2026-07-26 15:47 ` [PATCH 4/9] dtc: dt-check-style: Handle sorting of top-level nodes and properties Krzysztof Kozlowski
2026-07-26 15:57   ` sashiko-bot
2026-08-01 21:19     ` Krzysztof Kozlowski
2026-08-01 21:31       ` Krzysztof Kozlowski [this message]
2026-07-26 15:47 ` [PATCH 5/9] dtc: dt-check-style: Drop stray backslash before quote for continuation-alignment Krzysztof Kozlowski
2026-07-26 15:47 ` [PATCH 6/9] dtc: dt-check-style: Fix alignment of values in continued property lines Krzysztof Kozlowski
2026-07-26 15:56   ` sashiko-bot
2026-08-02  8:22     ` Krzysztof Kozlowski
2026-07-26 15:47 ` [PATCH 7/9] dtc: dt-check-style: Consistently call 'kind' as 'file_type' Krzysztof Kozlowski
2026-07-26 15:53   ` sashiko-bot
2026-07-26 15:47 ` [PATCH 8/9] dtc: dt-check-style: Introduce 'stricter' mode Krzysztof Kozlowski
2026-07-26 15:54   ` sashiko-bot
2026-08-02  8:30     ` Krzysztof Kozlowski
2026-07-26 15:47 ` [PATCH 9/9] MAINTAINERS: dt-bindings: Include dt-check-style in DT binding entry Krzysztof Kozlowski
2026-07-27 19:54 ` [PATCH 0/9] dtc: dt-check-style: Improvements for false positives Krzysztof Kozlowski

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=2e52b5d8-9499-447d-a329-166d50723bba@oss.qualcomm.com \
    --to=krzysztof.kozlowski@oss.qualcomm.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /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