Re: [PATCH v2 06/11] dtc: dt-check-style: Fix alignment of values in continued property lines

Krzysztof Kozlowski <[email protected]> Sun, 2 Aug 2026 14:20:25 +0200
Newsgroups dev.linux.lists.sashiko-reviews,org.kernel.vger.linux-devicetree
Message-ID <[email protected]>
On 02/08/2026 10:56, [email protected] wrote:
> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
> - [Medium] Continuation alignment check incorrectly treats valid top-level elements like closing brackets (`>`) and array openers (`[` or `/bits/`) as inner values, causing false positives on properly aligned device tree code.
> --
> 
> --- Patch [6]: [PATCH v2 06/11] dtc: dt-check-style: Fix alignment of values in continued property lines ---
> commit de051474019f5f4a78cb7dedef4cd8e6a02500cf
> Author: Krzysztof Kozlowski <[email protected]>
> 
> dtc: dt-check-style: Fix alignment of values in continued property lines
> 
> This commit updates the device tree style checker to enforce different
> alignments for property continuations depending on whether the continuation
> starts a new phandle or continues an existing inner value.
> 
>> diff --git a/scripts/dtc/dt-check-style b/scripts/dtc/dt-check-style
>> index 04247e39a78e3..cb3cdfda5e739 100755
>> --- a/scripts/dtc/dt-check-style
>> +++ b/scripts/dtc/dt-check-style
> 
> [ ... ]
> 
>> @@ -942,15 +943,20 @@ def check_continuation_alignment(ctx):
>>              continue
>>          # First '<' or '"' after '='
>>          rest = dl.raw[eq + 1:]
>> -        m = re.search(r'[<"]', rest)
>> +        m = re.search(r'\s*([<"])', rest)
>>          if not m:
>>              continue
>> -        target_col = _display_col(dl.raw[:eq + 1 + m.start()])
>> +        target_col = _display_col(dl.raw[:eq + 1 + m.start(1)])
>>          for cont in dl.continuations:
>> -            if _display_col(cont.indent_str) != target_col:
>> +            target_offset = 0
>> +            err_msg_explanation = 'to < or "'
>> +            if not re.match(r'[<"]', cont.stripped):
>> +                target_offset = 1
>> +                err_msg_explanation = 'to the value under <'
> 
> [Severity: Medium]
> If a multi-line property continuation begins with characters like >, [,
> or / instead of < or ", this logic applies target_offset = 1.
> 
> This seems to force closing brackets and array openers to indent to the inner
> value rather than aligning with the opening bracket, which could produce
> false-positive linting errors on valid device tree formatting.
> 
> Does this regex incorrectly treat top-level structural characters as inner
> values?

Well, maybe, too complex to implement now...

> 
>> diff --git a/scripts/dtc/dt-style-selftest/good/dts-cont-align.dts b/scripts/dtc/dt-style-selftest/good/dts-cont-align.dts
>> index 36fb4eefcd83b..1a1c07c09a415 100644
>> --- a/scripts/dtc/dt-style-selftest/good/dts-cont-align.dts
>> +++ b/scripts/dtc/dt-style-selftest/good/dts-cont-align.dts
> 
> [ ... ]
> 
>> @@ -18,9 +18,12 @@ interrupt-controller@10000 {
>>  		interrupts = <1 2 3>,
>>  			     <4 5 6>,
>>  			     <7 8 9>;
>> -		pinmux = <
>> -			 0x01
>> -			 0x02
>> -			 >;
>> +		pinmux = <0x01
>> +			  0x02>,
>> +			 <0x03
>> +			  0x04>;
> 
> [Severity: Medium]
> Since > isn't matched by the [<"] pattern in check_continuation_alignment,
> it seems the tool might now incorrectly flag properly aligned closing brackets
> as a style violation if they are on a continuation line.
> 
> Was this previously passing test case removed because the new regex fails on
> the standalone > character?

False positive

Best regards,
Krzysztof