From nobody Mon Sep 28 04:56:11 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8E0893C942B for ; Wed, 26 Aug 2026 10:21:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787739703; cv=none; b=FBx1CQvjSkdO69BB8TUnhEB83pKN5ufSRnRN0ZoMLrhBn/oGJ0NbycXjrGJTPuy4UEap7gcGk7wUxUmLlgUI8gEc3jGyUkqrZMLq4p6Cq370fTO7GaFdxKKv+PRqerxeAp1kd7+El0Mlu9dlR3Svb8JswYZA/q3ugdqVlToGAsI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787739703; c=relaxed/simple; bh=OUabwSWfavIXTw2drr/3+VZk+1cyKQHSZ5mqfGkS/zI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=q09Gmk21dYXmyfSHWCe8pUQdZeCJeUbF9yZ1MA4OsqokarUnUMxtefCc//HhTH+TgHsW2D/+b+50aWiWBjS24cUxCzlyx5fvmdPL00WPLD0kiynqu+pJUCPTgOUJwG7zfIAAUZUpNtYTmerjGkhLx+Y02/mSwZyzVj00/DTxpPE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=Hb2ckuEU; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=FkIest/t; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Hb2ckuEU"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="FkIest/t" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67QAGhSk1658847 for ; Wed, 26 Aug 2026 10:21:40 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Pp4R1J8z0f93FKYvJQw79hTGJ2FR4gYrN4MAKLImV5Q=; b=Hb2ckuEUK7a3dkd0 /p4Sf8zpNlLyPviIeH/snJ0PNU3tByz7xqNULRiaPbo1yWHpuU/nmpEURmYf/x7Y dwrv3L4a+861oPGMzg7JoHAuAC4AXyoTRfKrjJXCWQ6FZTUSZz2zlH7wOjYBtgTp nsn+nObst8GE1cY24myqDiJ8u0jOfTfVPXoLvvUD5JvzWqLe1tkUVZQ7kJa8/78h IGdzZ1uyxnxf0gRLWa3ZDJ6AZUwUJc/m8AZNqLILCJHfn0ywTQsbqyOopXXwQHOQ zsAYHIszJ306QTnqcg+e/dCoIVNKzh9DpLYzAXVT+QWwJ///0jr0sSi7fXEe1WkW vMPtKQ== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g9uq1rr8d-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 10:21:40 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-52ce64c41efso13302621cf.3 for ; Wed, 26 Aug 2026 03:21:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787739699; x=1788344499; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Pp4R1J8z0f93FKYvJQw79hTGJ2FR4gYrN4MAKLImV5Q=; b=FkIest/t0NiXlFAXuLfUOmFbXR/QsO1/cnkqwpTKWmwuneXv6rPdnVt+0ZkL2kBWIr 5OoQf+rY/Z2vD4RcZw0aW9jylqtJx+Nw6BfV6heaJGE2WRrm5PMQ/FleWbFw9LVMGkgL bnjjIYmXogMMJaYyS6LjaDQC7JJoi35PMVdaa0qRC92uE8HcpSwW5afFTtG2eA41Y2qe 9yPie9WvlkSoQe3yJ+u689lKzjanjFBf3ZmnbMIbU1djT6/fW3F2Z8mYbg5eZLMC6EVL 9zu3Ze8Wi/qqBET7Uw16a8aasuzCZzqZSyVcMOf5gsrj7q3usJlWDc7WhhrT/HYExBoR AaIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787739699; x=1788344499; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Pp4R1J8z0f93FKYvJQw79hTGJ2FR4gYrN4MAKLImV5Q=; b=MR+E0rMvdPKjU5tlgPaFy8kCpjuoFdt5+GlnTBvWF9618G9XlAD9spciyO/s89aT8a tqUU8nvUXt+wQywu71fNXF+DI+MSmorogc/+HHmplf+0TNcfQQUhaXhPKKpqbFuFrUWY hckwrvCjpTPAQuwbXVOEqkn1zJcZ4nFwAq/5qyunsLztOHUrih95VoZMJQqmc5mg2V31 aMzFTysyMSU86zuJ94I9x8GJB7yOTLL7tyNsUHKaEFvni4obT+5zFZ5kgdFOSnQKi4N3 CH53VBlGTiTOK2KmNax+yEOA3PziyugYYrhbOks8rM51NL8qiPdHrcopytTtx69GgOSE LShw== X-Forwarded-Encrypted: i=1; AHgh+Rq0ROBKUjHr41U2lIrU/hX5pL87KjWdwpnyPTOUgKtG0XIUbKOdyipLBRxMnWQ1Vvp0YtPkazpf/rjXhaM=@vger.kernel.org X-Gm-Message-State: AFuF++mrkeHGcV/KV6w+gmfeY7127gRiqTOCsDOP8jTAhmCDq/V7h5cE ql8HOz9u6V/sDdZyHXQt3UodPD+3zmItkcRFZ9JZZaTSqoneaF+UzhmzG3BaWQCVq1YkSWZ/Zrq YjwKREYxLbz7W4hzUCsTQBVo6xGE0GfdVdQu5m2jqsBqn038pLqtOWP8EKT8mNw1djayvkufbsH c= X-Gm-Gg: AR+sD12kUlT+IoVe8ECkTNlb4hRExst+SoOa6tpvTVsSiWnOxs2E2+YwvCOWbcaKdyB XJg1ROsyHQOEN01MhLhqBtniRDKW7XpQW8DzfT13Yet+mArXBKYAIyuVptyGm0xjQiRsZPXBfsH 30z4pVS8Tx+s9upASxtfYL2Bfm1E6R3jYY1hkW0AvmHILxM+n6Z6cG2TGWYrTQfsjgZ/sycha/S KSitpd4sTeslQg4aTmRpsukh7071G/3SxdEpwHUHu15hFYAHP/LZw3XFizJ3QewDUH5D475ngsG 90uOEICdHDw6XoE0Vm5CiTXzKCywXW6TN1UkBIbSQ+S6W1ZgwkDNur1jEiDQ6CafYZp0jlG5clJ FJymHoB88CBiqzTYzJeAxVis= X-Received: by 2002:a05:622a:28d:b0:52d:bec2:c34d with SMTP id d75a77b69052e-52e4232063emr53171701cf.25.1787739698880; Wed, 26 Aug 2026 03:21:38 -0700 (PDT) X-Received: by 2002:a05:622a:28d:b0:52d:bec2:c34d with SMTP id d75a77b69052e-52e4232063emr53171181cf.25.1787739698319; Wed, 26 Aug 2026 03:21:38 -0700 (PDT) Received: from [127.0.1.1] ([178.197.219.214]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c250a9b106dsm479830766b.43.2026.08.26.03.21.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 03:21:37 -0700 (PDT) From: Krzysztof Kozlowski Date: Wed, 26 Aug 2026 12:21:22 +0200 Subject: [PATCH v5 01/10] dtc: dt-check-style: Handle sorting of top-level nodes and properties Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260826-n-dts-style-checker-continued-v5-1-fdd16ca6e771@oss.qualcomm.com> References: <20260826-n-dts-style-checker-continued-v5-0-fdd16ca6e771@oss.qualcomm.com> In-Reply-To: <20260826-n-dts-style-checker-continued-v5-0-fdd16ca6e771@oss.qualcomm.com> To: Rob Herring , Saravana Kannan , Krzysztof Kozlowski , Conor Dooley Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=28301; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=OUabwSWfavIXTw2drr/3+VZk+1cyKQHSZ5mqfGkS/zI=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqjr4lPEiVT33WzMbnWhWM3VT+sDofnvXZWzvgw Kov1QB5+JSJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCao6+JQAKCRDBN2bmhouD 12XUD/9IBUqGUxIBxz6ZMdPutr28RH/5unLeK9N0LeltSAoiwLxInQPhIR7BmtwajC76PJxkSJV be8pytWiAnebgz4cY2x4kqZ3EA5sgRV/lYhdWgsfxcva7fHa3KKTm2qFAWFSHlqWMkZyczDiXxg rnKRCklYPEgCNP8ZEbT1lrdu9HnuKDxtgnCFmFlW1e+dyS7DfxRHwfr6fQwZKhvKo+3c8CZktnS nYP3pc4D1t4OXuSTByRazulx88ShlHzrcTMwyNyVTudwItcMc++/+4MU/Eh9FOYo2w0EKlwsXZt EaIyfVcfpDs/afxJ4TGugHba50l06a08A32xGMRzQqTAdxtGFMdZ9pm1TH8Qmp+xNo94TMCzXFv fI1HPkvpEgPHRnn6fjru8GxwnhKM2rtiXkis8azb9zYjBjsu3SWzCB2Nkh+7n+cZzKwOeqCLiVa Cn3uJrqYVQsQ+Fu1vtu9qvpydQrOa8KETUXt+BnFiEfHU/rlJ2Z7py5ve8dMsEwB7VZD2a9ADbp nPWRZqk1StML4ACynnWNqNHyUPOyXnzNOD8qiv8SiMsKFwVX+esXS4lkfpUlMrZBjl5u7j/OTOq D1Fj8q3u0MK6P2NmexBdyHso+VM+i5gJBTiEozkgExhhiU/wBkpBrhTr1PnUagrzcNc7HKRjRlZ +oWISXAXkE/wNhA== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-GUID: i86iXvnUOERme82ZBVsnJblRTdEjEsqI X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDA4NiBTYWx0ZWRfX6s8T/jPDSpHC w8bVhNq0cNLOdIssmHhI8Sx6+IIF7UH2XtzjhIu0tA9Uoi/wiyQwAFaTwDdf+UpPIqT1p6COUNY nhw+FDI1kDsdd2EC5XBXF8VFXwaT+Q7AGYdyM6frqDMAdI2QmnqLlAlisc69R0tJm6vE+icayLa zZz6ujGdwl6houpmW1YOuiRdLW6jN1NetVTnhdjuKUR20NjEEzf29qjL5eeHM87j5stP4x0Wc0t n44fmXqcjhYQk1gg4P1YqEJ/lMO7Qtr7Yi4cSvAug+L8fTSgZWrOMJSbGT4eMoNUonv/8LS4J1G wDyJjPswVYOdsRbY3rRnRYkFvi29Ikor1jaCvzadhyBIe7kIAHzWLG/R1IPV34RoP+AUDGgflSw CToy5IkUc0UMjDiTRZ2ij8whxFTemt0xgihZZibxjfQPl16PNc5TWt5BsZBK1WySaNnO+UTuFph FkyjTCCd3ghtAyai/GA== X-Authority-Analysis: v=2.4 cv=Y77IdBeN c=1 sm=1 tr=0 ts=6a8ebe34 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=+bKQE0WJfmhK2875HamI0Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=EUspDBNiAAAA:8 a=DEs8lHOyw9br0RGUMqIA:9 a=CL4GF0xxeNQD7lhm:21 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-ORIG-GUID: i86iXvnUOERme82ZBVsnJblRTdEjEsqI X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDA4NiBTYWx0ZWRfXyDAlEMcfeuC3 3OsVhY1zd7TqN4ofQslj8ZB6mZZ+1R+YdUtVOaS1jtb6DpNDjAe5Nn79Ef5MWkrvFiLr8KFupSq Tax3C8GOx0MGckdzyl3t7v9T/2CV5vQ= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-26_03,2026-08-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 suspectscore=0 bulkscore=0 priorityscore=1501 clxscore=1015 phishscore=0 spamscore=0 malwarescore=0 adultscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608260086 Top-level DTS (but not example in the bindings) has only two nodes with unit-addresses: memory@ and soc@. There are two special cases here, in terms of coding style: 1. The unit-address of memory is often not known thus set to @0, because it is filled up by bootloader. 2. There is mixture of non-unit-address and unit-address nodes. Therefore usually the DTS chooses for the top-level part sorting by the node name, not the unit address. Also the properties have one exception: 'model' property is supposed to be before the 'compatible'. This cannot be applied to the entire DTS, because sound cards have also 'model' where it is supposed to follow standard rules (after the 'compatible'). Root node is just special. Signed-off-by: Krzysztof Kozlowski --- scripts/dtc/dt-check-style | 70 ++++++++++++++++++= ---- .../bad/dts-child-name-order.dtso | 33 ++++++++++ .../dt-style-selftest/bad/dts-digit-node-order.dts | 40 +++++++++++++ .../bad/dts-digit-node-order.dtso | 41 +++++++++++++ .../bad/dts-extend-node-child-name-order.dtso | 26 ++++++++ .../bad/dts-extend-node-digit-node-order.dtso | 34 +++++++++++ .../dt-style-selftest/bad/dts-property-order.dts | 7 ++- .../dt-style-selftest/bad/dts-property-order.dtso | 49 +++++++++++++++ .../expected/dts-child-name-order.dts.txt | 1 + .../expected/dts-child-name-order.dtso.txt | 3 + .../expected/dts-digit-node-order.dts.txt | 2 + .../expected/dts-digit-node-order.dtso.txt | 2 + .../dts-extend-node-child-name-order.dtso.txt | 2 + .../dts-extend-node-digit-node-order.dtso.txt | 2 + .../expected/dts-property-order.dts.txt | 12 ++-- .../expected/dts-property-order.dtso.txt | 8 +++ .../good/dts-child-name-order.dtso | 44 ++++++++++++++ .../good/dts-digit-node-order.dts | 3 - .../good/dts-digit-node-order.dtso | 59 ++++++++++++++++++ .../good/dts-extend-node-child-name-order.dtso | 26 ++++++++ .../good/dts-extend-node-digit-node-order.dtso | 34 +++++++++++ .../dt-style-selftest/good/dts-property-order.dts | 5 ++ .../dt-style-selftest/good/dts-property-order.dtso | 47 +++++++++++++++ 23 files changed, 531 insertions(+), 19 deletions(-) diff --git a/scripts/dtc/dt-check-style b/scripts/dtc/dt-check-style index 96deffc0d8a7..e5f26d3e2792 100755 --- a/scripts/dtc/dt-check-style +++ b/scripts/dtc/dt-check-style @@ -77,24 +77,26 @@ def is_preprocessor(stripped): =20 =20 class DtsLine: - __slots__ =3D ('lineno', 'raw', 'linetype', 'indent_str', 'stripped', + __slots__ =3D ('lineno', 'raw', 'linetype', 'indent_str', 'stripped', = 'is_root', 'prop_name', 'continuations', - 'node_name', 'node_addr', 'label', 'ref_name', 'depth', + 'node_name', 'node_addr', 'label', 'ref_name', 'parent', = 'depth', 'closures') =20 - def __init__(self, lineno, raw, linetype, depth, indent_str, stripped): + def __init__(self, lineno, raw, linetype, depth, indent_str, stripped,= is_root =3D False): self.lineno =3D lineno # 1-based within the block self.raw =3D raw self.linetype =3D linetype self.indent_str =3D indent_str # leading whitespace as-is self.depth =3D depth self.stripped =3D stripped + self.is_root =3D is_root self.prop_name =3D None self.continuations =3D [] self.node_name =3D None self.node_addr =3D None self.label =3D None self.ref_name =3D None + self.parent =3D None # DtsLine of parent node self.closures =3D 1 # count of '}' on a NODE_CLOSE line =20 =20 @@ -228,7 +230,10 @@ def classify_lines(text): continue =20 if code.endswith('{'): - dl =3D DtsLine(i, raw, LineType.NODE_OPEN, depth, indent_str, = code) + is_root =3D False + if code =3D=3D '&{/} {' or re.search(r'^/\s*\{$', code): + is_root =3D True + dl =3D DtsLine(i, raw, LineType.NODE_OPEN, depth, indent_str, = code, is_root=3Dis_root) parse_node_header(dl) out.append(dl) depth +=3D 1 @@ -491,16 +496,24 @@ def _walk_bodies(lines): """Yield lists of immediate-child NODE_OPEN lines for each node body in the input. Skips ref-nodes (&label) since those don't have an intrinsic ordering.""" + # Array of stacked nodes (parent/child) body_stack =3D [[]] + # Current stack of nodes, purely to track parent relationship for each= node + node_stack =3D [] + parent_dl =3D None for dl in lines: if dl.linetype =3D=3D LineType.NODE_OPEN: + dl.parent =3D parent_dl + node_stack.append(dl) body_stack[-1].append(dl) body_stack.append([]) + parent_dl =3D dl continue if dl.linetype =3D=3D LineType.NODE_CLOSE: if len(body_stack) <=3D 1: # Unbalanced; ignore to avoid crashing on malformed input continue + parent_dl =3D node_stack.pop().parent yield body_stack.pop() continue while body_stack: @@ -521,12 +534,18 @@ def _natural_sort_key(s): =20 def check_child_address_order(ctx): """Addressed siblings (foo@N) must appear in ascending address - order within their parent node body.""" + order within their parent node body. + Exception: Top-level in DTS follows name order, regardless of unit add= ress + in memory@N and soc@N nodes + """ for children in _walk_bodies(ctx.lines): addressed =3D [] for c in children: if c.node_addr is None: continue + if c.parent and c.parent.is_root: + # Top-level does not use unit address sorting usually + continue try: parts =3D tuple(int(p, 16) for p in c.node_addr.split(',')) except ValueError: @@ -544,12 +563,16 @@ def check_child_name_order(ctx): """Unaddressed siblings must appear in natural-sort order by node name within their parent node body. Addressed children are scoped by check_child_address_order; reference nodes (&label { ... }) and - the root node are skipped.""" + the root node are skipped. + However root node has children with and without unit address, and + sorting should be only by name.""" for children in _walk_bodies(ctx.lines): unaddressed =3D [] for c in children: if c.node_addr is not None: - continue + # Skip nodes with unit address, except when sorting top-le= vel + if not c.parent or not c.parent.is_root: + continue if c.node_name in (None, '/'): continue if c.ref_name is not None: @@ -591,6 +614,30 @@ def _property_bucket(name): return (5 if ',' in stripped else 4, None) =20 =20 +def _property_bucket_root(name): + """Return the canonical bucket index for a property: + 0 model (for root nodes only) + 1 compatible + Plus a sub-key inside the bucket for fixed slots (device_type, compati= ble, + reg, reg-names, ranges, status). 'standard' and 'vendor' return None f= or + the sub-key, signalling that the within-bucket key is computed by + the pairing rules.""" + stripped =3D name.lstrip('#') + if name =3D=3D 'model': + return (0, 0) + if name =3D=3D 'compatible': + return (1, 0) + if name =3D=3D 'reg': + return (2, 0) + if name =3D=3D 'reg-names': + return (2, 1) + if name =3D=3D 'ranges': + return (3, 0) + if name =3D=3D 'status': + return (6, 0) + return (5 if ',' in stripped else 4, None) + + # Declarative pairing rules: each is a callable # (name, all_names) -> anchor_name_or_None # If a rule returns an anchor, the property sorts immediately after the @@ -627,13 +674,16 @@ def _pair_x_names(name, all_names): PAIRING_RULES =3D (_pair_pinctrl_names, _pair_x_names) =20 =20 -def _property_sort_key(name, all_names): +def _property_sort_key(dl, name, all_names): """Sort key for a property among its node-body siblings. =20 Format: (bucket, within_key, tiebreak). 'within_key' for standard/vendor buckets follows pairing rules: a property paired with anchor X sorts as if it were X with a higher tiebreak.""" - bucket, fixed_sub =3D _property_bucket(name) + if dl.is_root: + bucket, fixed_sub =3D _property_bucket_root(name) + else: + bucket, fixed_sub =3D _property_bucket(name) if fixed_sub is not None: return (bucket, (), fixed_sub) =20 @@ -668,7 +718,7 @@ def check_property_order(ctx): if len(props) < 2: continue all_names =3D [p.prop_name for p in props] - keyed =3D [(p, _property_sort_key(p.prop_name, all_names)) + keyed =3D [(p, _property_sort_key(dl, p.prop_name, all_names)) for p in props] for k in range(1, len(keyed)): if keyed[k][1] < keyed[k - 1][1]: diff --git a/scripts/dtc/dt-style-selftest/bad/dts-child-name-order.dtso b/= scripts/dtc/dt-style-selftest/bad/dts-child-name-order.dtso new file mode 100644 index 000000000000..74b49be69e98 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/bad/dts-child-name-order.dtso @@ -0,0 +1,33 @@ +// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +/dts-v1/; +/plugin/; + +&{/} { + #address-cells =3D <1>; + #size-cells =3D <1>; + + pmu { + compatible =3D "example,pmu"; + + /* Include labels to be sure they do not affect sorting */ + foo: foo { + label =3D "foo"; + }; + + label_bar: bar { + label =3D "bar"; + }; + }; + + memory@a0000000 { + device_type =3D "memory"; + reg =3D <0x0 0xa0000000 0x0 0x0>; + }; + + pmu-2 { + compatible =3D "example,pmu"; + + /* Just reference labels to avoid strict warnings */ + example,foo =3D <&foo>, <&label_bar>; + }; +}; diff --git a/scripts/dtc/dt-style-selftest/bad/dts-digit-node-order.dts b/s= cripts/dtc/dt-style-selftest/bad/dts-digit-node-order.dts new file mode 100644 index 000000000000..74c956398324 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/bad/dts-digit-node-order.dts @@ -0,0 +1,40 @@ +// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +/dts-v1/; + +/ { + #address-cells =3D <1>; + #size-cells =3D <1>; + + memory@a0000000 { + device_type =3D "memory"; + reg =3D <0x0 0xa0000000 0x0 0x0>; + }; + + pmu { + compatible =3D "example,pmu"; + }; + + soc@0 { + compatible =3D "simple-bus"; + ranges =3D <0 0 0 0xc0000000>; + + #address-cells =3D <1>; + #size-cells =3D <1>; + + serial@20000 { + compatible =3D "example,serial"; + reg =3D <0x20000 0x1000>; + }; + + interrupt-controller@10000 { + compatible =3D "example,intc"; + reg =3D <0x10000 0x1000>; + interrupts =3D <1 2 3>; + }; + + serial@30000 { + compatible =3D "example,serial"; + reg =3D <0x30000 0x1000>; + }; + }; +}; diff --git a/scripts/dtc/dt-style-selftest/bad/dts-digit-node-order.dtso b/= scripts/dtc/dt-style-selftest/bad/dts-digit-node-order.dtso new file mode 100644 index 000000000000..052c02935a45 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/bad/dts-digit-node-order.dtso @@ -0,0 +1,41 @@ +// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +/dts-v1/; +/plugin/; + +&{/} { + #address-cells =3D <1>; + #size-cells =3D <1>; + + memory@a0000000 { + device_type =3D "memory"; + reg =3D <0x0 0xa0000000 0x0 0x0>; + }; + + pmu { + compatible =3D "example,pmu"; + }; + + soc@0 { + compatible =3D "simple-bus"; + ranges =3D <0 0 0 0xc0000000>; + + #address-cells =3D <1>; + #size-cells =3D <1>; + + serial@20000 { + compatible =3D "example,serial"; + reg =3D <0x20000 0x1000>; + }; + + interrupt-controller@10000 { + compatible =3D "example,intc"; + reg =3D <0x10000 0x1000>; + interrupts =3D <1 2 3>; + }; + + serial@30000 { + compatible =3D "example,serial"; + reg =3D <0x30000 0x1000>; + }; + }; +}; diff --git a/scripts/dtc/dt-style-selftest/bad/dts-extend-node-child-name-o= rder.dtso b/scripts/dtc/dt-style-selftest/bad/dts-extend-node-child-name-or= der.dtso new file mode 100644 index 000000000000..d9cf670f19f6 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/bad/dts-extend-node-child-name-order.dt= so @@ -0,0 +1,26 @@ +// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +/dts-v1/; +/plugin/; + +&{/} { + #address-cells =3D <1>; + #size-cells =3D <1>; + + pmu { + compatible =3D "example,pmu"; + + /* Just reference labels to avoid strict warnings */ + example,foo =3D <&foo>, <&label_bar>; + }; +}; + +&pmu { + /* Include labels to be sure they do not affect sorting */ + foo: foo { + label =3D "foo"; + }; + + label_bar: bar { + label =3D "bar"; + }; +}; diff --git a/scripts/dtc/dt-style-selftest/bad/dts-extend-node-digit-node-o= rder.dtso b/scripts/dtc/dt-style-selftest/bad/dts-extend-node-digit-node-or= der.dtso new file mode 100644 index 000000000000..4b2cf60e5a92 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/bad/dts-extend-node-digit-node-order.dt= so @@ -0,0 +1,34 @@ +// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +/dts-v1/; +/plugin/; + +&{/} { + #address-cells =3D <1>; + #size-cells =3D <1>; + + soc: soc@0 { + compatible =3D "simple-bus"; + ranges =3D <0 0 0 0xc0000000>; + + #address-cells =3D <1>; + #size-cells =3D <1>; + }; +}; + +&soc { + serial@20000 { + compatible =3D "example,serial"; + reg =3D <0x20000 0x1000>; + }; + + interrupt-controller@10000 { + compatible =3D "example,intc"; + reg =3D <0x10000 0x1000>; + interrupts =3D <1 2 3>; + }; + + serial@30000 { + compatible =3D "example,serial"; + reg =3D <0x30000 0x1000>; + }; +}; diff --git a/scripts/dtc/dt-style-selftest/bad/dts-property-order.dts b/scr= ipts/dtc/dt-style-selftest/bad/dts-property-order.dts index f31abb6ceae4..e675e5e05a46 100644 --- a/scripts/dtc/dt-style-selftest/bad/dts-property-order.dts +++ b/scripts/dtc/dt-style-selftest/bad/dts-property-order.dts @@ -5,7 +5,12 @@ =20 /dts-v1/; =20 -/ { +/ { + compatible =3D "example,test-board", "example,test-soc"; + model =3D "DT style selftest"; + qcom,board-id =3D <8 0>; + chassis-type =3D "handset"; + cpus { #address-cells =3D <1>; #size-cells =3D <0>; diff --git a/scripts/dtc/dt-style-selftest/bad/dts-property-order.dtso b/sc= ripts/dtc/dt-style-selftest/bad/dts-property-order.dtso new file mode 100644 index 000000000000..81ac2b092b96 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/bad/dts-property-order.dtso @@ -0,0 +1,49 @@ +// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +/* + * Test fixture: Incorrect property order + */ + +/dts-v1/; +/plugin/; + +&{/} { + compatible =3D "example,test-board", "example,test-soc"; + model =3D "DT style selftest"; + qcom,board-id =3D <8 0>; + chassis-type =3D "handset"; + + cpus { + #address-cells =3D <1>; + #size-cells =3D <0>; + + cpu@0 { + reg =3D <0x0 0x0>; + compatible =3D "arm,cortex-a57"; + device_type =3D "cpu"; + enable-method =3D "psci"; + }; + }; + + pmu { + compatible =3D "example,pmu"; + + status =3D "disabled"; + dma-coherent; + }; + + soc@0 { + ranges =3D <0 0 0 0xc0000000>; + compatible =3D "simple-bus"; + + #address-cells =3D <1>; + #size-cells =3D <1>; + + interrupt-controller@10000 { + reg =3D <0x10000 0x1000>; + interrupts =3D <1 2 3>, + <4 5 6>, + <7 8 9>; + compatible =3D "example,intc"; + }; + }; +}; diff --git a/scripts/dtc/dt-style-selftest/expected/dts-child-name-order.dt= s.txt b/scripts/dtc/dt-style-selftest/expected/dts-child-name-order.dts.txt index e2eea0862102..312a45ed913a 100644 --- a/scripts/dtc/dt-style-selftest/expected/dts-child-name-order.dts.txt +++ b/scripts/dtc/dt-style-selftest/expected/dts-child-name-order.dts.txt @@ -1,2 +1,3 @@ # mode=3Dstrict bad/dts-child-name-order.dts:16: [child-name-order] child node 'bar' out o= f name order +bad/dts-child-name-order.dts:21: [child-name-order] child node 'memory' ou= t of name order diff --git a/scripts/dtc/dt-style-selftest/expected/dts-child-name-order.dt= so.txt b/scripts/dtc/dt-style-selftest/expected/dts-child-name-order.dtso.t= xt new file mode 100644 index 000000000000..e44ceb24ece8 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/expected/dts-child-name-order.dtso.txt @@ -0,0 +1,3 @@ +# mode=3Dstrict +bad/dts-child-name-order.dtso:17: [child-name-order] child node 'bar' out = of name order +bad/dts-child-name-order.dtso:22: [child-name-order] child node 'memory' o= ut of name order diff --git a/scripts/dtc/dt-style-selftest/expected/dts-digit-node-order.dt= s.txt b/scripts/dtc/dt-style-selftest/expected/dts-digit-node-order.dts.txt new file mode 100644 index 000000000000..1f41acdea0b0 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/expected/dts-digit-node-order.dts.txt @@ -0,0 +1,2 @@ +# mode=3Dstrict +bad/dts-digit-node-order.dts:29: [child-address-order] child node @10000 o= ut of address order diff --git a/scripts/dtc/dt-style-selftest/expected/dts-digit-node-order.dt= so.txt b/scripts/dtc/dt-style-selftest/expected/dts-digit-node-order.dtso.t= xt new file mode 100644 index 000000000000..21db32f6e639 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/expected/dts-digit-node-order.dtso.txt @@ -0,0 +1,2 @@ +# mode=3Dstrict +bad/dts-digit-node-order.dtso:30: [child-address-order] child node @10000 = out of address order diff --git a/scripts/dtc/dt-style-selftest/expected/dts-extend-node-child-n= ame-order.dtso.txt b/scripts/dtc/dt-style-selftest/expected/dts-extend-node= -child-name-order.dtso.txt new file mode 100644 index 000000000000..d7941a891135 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/expected/dts-extend-node-child-name-ord= er.dtso.txt @@ -0,0 +1,2 @@ +# mode=3Dstrict +bad/dts-extend-node-child-name-order.dtso:23: [child-name-order] child nod= e 'bar' out of name order diff --git a/scripts/dtc/dt-style-selftest/expected/dts-extend-node-digit-n= ode-order.dtso.txt b/scripts/dtc/dt-style-selftest/expected/dts-extend-node= -digit-node-order.dtso.txt new file mode 100644 index 000000000000..408796d5bb03 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/expected/dts-extend-node-digit-node-ord= er.dtso.txt @@ -0,0 +1,2 @@ +# mode=3Dstrict +bad/dts-extend-node-digit-node-order.dtso:24: [child-address-order] child = node @10000 out of address order diff --git a/scripts/dtc/dt-style-selftest/expected/dts-property-order.dts.= txt b/scripts/dtc/dt-style-selftest/expected/dts-property-order.dts.txt index 4bc21328625f..65977f96331d 100644 --- a/scripts/dtc/dt-style-selftest/expected/dts-property-order.dts.txt +++ b/scripts/dtc/dt-style-selftest/expected/dts-property-order.dts.txt @@ -1,6 +1,8 @@ # mode=3Dstrict -bad/dts-property-order.dts:15: [property-order] property 'compatible' out = of canonical order (should sort before 'reg') -bad/dts-property-order.dts:16: [property-order] property 'device_type' out= of canonical order (should sort before 'compatible') -bad/dts-property-order.dts:25: [property-order] property 'dma-coherent' ou= t of canonical order (should sort before 'status') -bad/dts-property-order.dts:30: [property-order] property 'compatible' out = of canonical order (should sort before 'ranges') -bad/dts-property-order.dts:40: [property-order] property 'compatible' out = of canonical order (should sort before 'interrupts') +bad/dts-property-order.dts:10: [property-order] property 'model' out of ca= nonical order (should sort before 'compatible') +bad/dts-property-order.dts:12: [property-order] property 'chassis-type' ou= t of canonical order (should sort before 'qcom,board-id') +bad/dts-property-order.dts:20: [property-order] property 'compatible' out = of canonical order (should sort before 'reg') +bad/dts-property-order.dts:21: [property-order] property 'device_type' out= of canonical order (should sort before 'compatible') +bad/dts-property-order.dts:30: [property-order] property 'dma-coherent' ou= t of canonical order (should sort before 'status') +bad/dts-property-order.dts:35: [property-order] property 'compatible' out = of canonical order (should sort before 'ranges') +bad/dts-property-order.dts:45: [property-order] property 'compatible' out = of canonical order (should sort before 'interrupts') diff --git a/scripts/dtc/dt-style-selftest/expected/dts-property-order.dtso= .txt b/scripts/dtc/dt-style-selftest/expected/dts-property-order.dtso.txt new file mode 100644 index 000000000000..124183fab2ad --- /dev/null +++ b/scripts/dtc/dt-style-selftest/expected/dts-property-order.dtso.txt @@ -0,0 +1,8 @@ +# mode=3Dstrict +bad/dts-property-order.dtso:11: [property-order] property 'model' out of c= anonical order (should sort before 'compatible') +bad/dts-property-order.dtso:13: [property-order] property 'chassis-type' o= ut of canonical order (should sort before 'qcom,board-id') +bad/dts-property-order.dtso:21: [property-order] property 'compatible' out= of canonical order (should sort before 'reg') +bad/dts-property-order.dtso:22: [property-order] property 'device_type' ou= t of canonical order (should sort before 'compatible') +bad/dts-property-order.dtso:31: [property-order] property 'dma-coherent' o= ut of canonical order (should sort before 'status') +bad/dts-property-order.dtso:36: [property-order] property 'compatible' out= of canonical order (should sort before 'ranges') +bad/dts-property-order.dtso:46: [property-order] property 'compatible' out= of canonical order (should sort before 'interrupts') diff --git a/scripts/dtc/dt-style-selftest/good/dts-child-name-order.dtso b= /scripts/dtc/dt-style-selftest/good/dts-child-name-order.dtso new file mode 100644 index 000000000000..1fd75a6285ce --- /dev/null +++ b/scripts/dtc/dt-style-selftest/good/dts-child-name-order.dtso @@ -0,0 +1,44 @@ +// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +/dts-v1/; +/plugin/; + +&{/} { + #address-cells =3D <1>; + #size-cells =3D <1>; + + memory@a0000000 { + device_type =3D "memory"; + reg =3D <0x0 0xa0000000 0x0 0x0>; + }; + + pmu { + compatible =3D "example,pmu"; + + /* Include labels to be sure they do not affect sorting */ + label_bar: bar { + label =3D "bar"; + }; + + foo: foo { + label =3D "foo"; + }; + }; + + pmu-2 { + compatible =3D "example,pmu"; + + /* Just reference labels to avoid strict warnings */ + example,foo =3D <&foo>, <&label_bar>; + }; +}; + +&pmu { + /* Include labels to be sure they do not affect sorting */ + label_bar_2: bar-2 { + label =3D "bar"; + }; + + foo_2: foo-2 { + label =3D "foo"; + }; +} diff --git a/scripts/dtc/dt-style-selftest/good/dts-digit-node-order.dts b/= scripts/dtc/dt-style-selftest/good/dts-digit-node-order.dts index cdf3f91ebe01..2b21dde7f3c8 100644 --- a/scripts/dtc/dt-style-selftest/good/dts-digit-node-order.dts +++ b/scripts/dtc/dt-style-selftest/good/dts-digit-node-order.dts @@ -5,13 +5,10 @@ / { #address-cells =3D <1>; #size-cells =3D <1>; =20 - /* TODO: uncomment when child-address-order is fixed for top-level */ - /* memory@a0000000 { device_type =3D "memory"; reg =3D <0x0 0xa0000000 0x0 0x0>; }; - */ =20 pmu { compatible =3D "example,pmu"; diff --git a/scripts/dtc/dt-style-selftest/good/dts-digit-node-order.dtso b= /scripts/dtc/dt-style-selftest/good/dts-digit-node-order.dtso new file mode 100644 index 000000000000..efafa1cccc15 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/good/dts-digit-node-order.dtso @@ -0,0 +1,59 @@ +// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +/dts-v1/; +/plugin/; + +&{/} { + #address-cells =3D <1>; + #size-cells =3D <1>; + + memory@a0000000 { + device_type =3D "memory"; + reg =3D <0x0 0xa0000000 0x0 0x0>; + }; + + pmu { + compatible =3D "example,pmu"; + }; + + soc@0 { + compatible =3D "simple-bus"; + ranges =3D <0 0 0 0xc0000000>; + + #address-cells =3D <1>; + #size-cells =3D <1>; + + interrupt-controller@10000 { + compatible =3D "example,intc"; + reg =3D <0x10000 0x1000>; + interrupts =3D <1 2 3>; + }; + + serial@20000 { + compatible =3D "example,serial"; + reg =3D <0x20000 0x1000>; + }; + + serial@30000 { + compatible =3D "example,serial"; + reg =3D <0x30000 0x1000>; + }; + }; +}; + +&soc { + interrupt-controller@110000 { + compatible =3D "example,intc"; + reg =3D <0x110000 0x1000>; + interrupts =3D <1 2 3>; + }; + + serial@120000 { + compatible =3D "example,serial"; + reg =3D <0x120000 0x1000>; + }; + + serial@130000 { + compatible =3D "example,serial"; + reg =3D <0x130000 0x1000>; + }; +}; diff --git a/scripts/dtc/dt-style-selftest/good/dts-extend-node-child-name-= order.dtso b/scripts/dtc/dt-style-selftest/good/dts-extend-node-child-name-= order.dtso new file mode 100644 index 000000000000..b00c2a195179 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/good/dts-extend-node-child-name-order.d= tso @@ -0,0 +1,26 @@ +// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +/dts-v1/; +/plugin/; + +&{/} { + #address-cells =3D <1>; + #size-cells =3D <1>; + + pmu { + compatible =3D "example,pmu"; + + /* Just reference labels to avoid strict warnings */ + example,foo =3D <&foo>, <&label_bar>; + }; +}; + +&pmu { + /* Include labels to be sure they do not affect sorting */ + label_bar: bar { + label =3D "bar"; + }; + + foo: foo { + label =3D "foo"; + }; +}; diff --git a/scripts/dtc/dt-style-selftest/good/dts-extend-node-digit-node-= order.dtso b/scripts/dtc/dt-style-selftest/good/dts-extend-node-digit-node-= order.dtso new file mode 100644 index 000000000000..1ce18afb80de --- /dev/null +++ b/scripts/dtc/dt-style-selftest/good/dts-extend-node-digit-node-order.d= tso @@ -0,0 +1,34 @@ +// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +/dts-v1/; +/plugin/; + +&{/} { + #address-cells =3D <1>; + #size-cells =3D <1>; + + soc: soc@0 { + compatible =3D "simple-bus"; + ranges =3D <0 0 0 0xc0000000>; + + #address-cells =3D <1>; + #size-cells =3D <1>; + }; +}; + +&soc { + interrupt-controller@10000 { + compatible =3D "example,intc"; + reg =3D <0x10000 0x1000>; + interrupts =3D <1 2 3>; + }; + + serial@20000 { + compatible =3D "example,serial"; + reg =3D <0x20000 0x1000>; + }; + + serial@30000 { + compatible =3D "example,serial"; + reg =3D <0x30000 0x1000>; + }; +}; diff --git a/scripts/dtc/dt-style-selftest/good/dts-property-order.dts b/sc= ripts/dtc/dt-style-selftest/good/dts-property-order.dts index 0e183e3459cd..3d847cc9fa3e 100644 --- a/scripts/dtc/dt-style-selftest/good/dts-property-order.dts +++ b/scripts/dtc/dt-style-selftest/good/dts-property-order.dts @@ -6,6 +6,11 @@ /dts-v1/; =20 / { + model =3D "DT style selftest"; + compatible =3D "example,test-board", "example,test-soc"; + chassis-type =3D "handset"; + qcom,board-id =3D <8 0>; + cpus { #address-cells =3D <1>; #size-cells =3D <0>; diff --git a/scripts/dtc/dt-style-selftest/good/dts-property-order.dtso b/s= cripts/dtc/dt-style-selftest/good/dts-property-order.dtso new file mode 100644 index 000000000000..5ae78541f68b --- /dev/null +++ b/scripts/dtc/dt-style-selftest/good/dts-property-order.dtso @@ -0,0 +1,47 @@ +// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +/* + * Test fixture: Incorrect property order + */ + +/dts-v1/; +/plugin/; + +&{/} { + model =3D "DT style selftest"; + compatible =3D "example,test-board", "example,test-soc"; + chassis-type =3D "handset"; + qcom,board-id =3D <8 0>; + + cpus { + #address-cells =3D <1>; + #size-cells =3D <0>; + + cpu@0 { + device_type =3D "cpu"; + compatible =3D "arm,cortex-a57"; + reg =3D <0x0 0x0>; + enable-method =3D "psci"; + }; + }; + + pmu { + compatible =3D "example,pmu"; + dma-coherent; + + status =3D "disabled"; + }; + + soc@0 { + compatible =3D "simple-bus"; + ranges =3D <0 0 0 0xc0000000>; + + #address-cells =3D <1>; + #size-cells =3D <1>; + + interrupt-controller@10000 { + compatible =3D "example,intc"; + reg =3D <0x10000 0x1000>; + interrupts =3D <1 2 3>; + }; + }; +}; --=20 2.53.0 From nobody Mon Sep 28 04:56:11 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3C22D3C872C for ; Wed, 26 Aug 2026 10:21:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787739703; cv=none; b=gXpaEPdXAc50+LKU887vkLlCUlaeIvnEp+MdQQJQrQgG6cctYSqZRBNuhqD+83RGlEK2YWpchOdbymG2omhrv/mFqxVb3ziVicCZoCaAwXuE8v68xIBIC4GUCt9Pzdyq1pRjqsiLBG/k3JRRwLgVxV8W/9z3kdVZd6fedOpGFVs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787739703; c=relaxed/simple; bh=IlBZ7/A+6aQ52Cw6c4QTonWglV2MNSvQc7eWi9Z8zUs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=U47iaBmuMJ+lt7GuwznYk6WO80c1fkic0uI18kZSbCBA2XYTNsi8ieLWdvy2NacjzX7atGTQjQ7LYG185BrNt2R+fJ2Klwc85vZ+KTAFdanfGEjVsPpjJXKddIahnmMj0OB615X19yPAFgSBkeRATwltOhRVx5tIjfX+R/cJ0m4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=OHeD+Al8; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=AbYTmRur; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="OHeD+Al8"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="AbYTmRur" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67QAHASh122208 for ; Wed, 26 Aug 2026 10:21:41 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= t7fNM/vMVtO8BnEM7l8vZieQUsAHP87Qc2HyklM5VY4=; b=OHeD+Al8IPFgaL1E nA/IuscoJMXghe8ODMY3MTgP8d2PxDFWukxna227Jk5jgHfsbwfBjfQ91zmnXqHy hcsEPM3hKhWBWBnNX6N/B5IIAVWkSui+flZsfKVd0n1oB4nk8C2QtXgQqY/59jow FWPNE4XyaZZuHlPsOLaT38Mmn+DnJ3gr6Ef5GqIpGOXe+NR+xa/pajAN+ZTp8W/9 2n1vfg0ced1qJivwuRD1yDCNb3up7Nm+sAh8Bo4almEpLoSaaXEGENernrTOAjmt xuvcw8veilByN/pP9/EcZczK9TE5rx1ilReDX6tJfpRXKW9nytZlOGinxdj/gWD3 fCf9Rg== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g9smx99tk-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 10:21:41 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-52ce64c41efso13302771cf.3 for ; Wed, 26 Aug 2026 03:21:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787739700; x=1788344500; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=t7fNM/vMVtO8BnEM7l8vZieQUsAHP87Qc2HyklM5VY4=; b=AbYTmRurumvQ5jj1XZIKmyaQyAXXYEnFXrYnIF41uXt8A/ijis48sgqIPUTmeE4azO jqZLeJ3iFFQA1sWCgbOOw6MKBE3aOb4zov4CZr+CT47hTqlTuEdBGQJrKqQw9naNSbCx qMg0IIfmWDhdwCAsx51FQ/bmaI9QbRpa6bVjLD5TR2af51daVax1k40brKOrZCibDfMN vOXD30JkOaJJ8W1jJuKuYY4KOZIef08O8jSCvwDRIzjXXLjUsRPWhPBLd4G5E9yv5zfq VvTzmFM8m1+K/ian5WlFhqMWUCFe6TsfJ8ORwSRnr/lGfMhoNMGqevwLwZY46AtCkTbr 2RgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787739700; x=1788344500; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=t7fNM/vMVtO8BnEM7l8vZieQUsAHP87Qc2HyklM5VY4=; b=B9ISbVNTONQYmtCkc9SOb1nyn1jqrpOpb7+UzTikN/qlk+tLenlOwyonZhjE1/QkGo 7Mnwlf/EAzvMgyerNNxojEDSo+IHCryBRa2QaU/t7l1poBWnqSsS7bNlHvnM7SK6C3sr aFT3yiXkAqC7DWlc5Y7yk6qonl+hgNsRSb+T4DDKQSWN48ul20Syw7dQdidE8cR24+zZ ile9HEtwrRExOuvs2eSW939tQbqft1t6eQN5oDB5QSeJuiBZRFEmQRbsJYN5wZEDui4f DzI8vmr+Vcu8QU11sAaJHmwp0LC7zm5Zw30RS8V2Gu7nsahVZ/EruCQMUnAltDB94k6t Mnig== X-Forwarded-Encrypted: i=1; AHgh+RoMidsm+C85q9Ah2ynam23k7DVK8KYaHYGpOSTYGouC29WNcWJ6XxXfSjtmJhIRus5NN6tA4NmNAoxsZ6g=@vger.kernel.org X-Gm-Message-State: AFuF++lE5UKWNFF5skpqDalG377wp906vfGpxs+tjAPJg9htg8fWq7I4 MlyFBtO1S+aurKyah6+excUuZPlPPvNiqa/VLkxBcecDoMoe0lXKdjMrrjmpD0wEY6DcZuDrVbS opOuYfwv5CS24GtssY4xPIu9MRj9eCcAQgMU5gL9f5QhoW4CiTLz1azIyzvvqlli5nWU= X-Gm-Gg: AR+sD11O9wD+/QgPu5ocTdmR5T9/R7eS8Kzc2o3nG96f6VyeZkqcWVli04W7rLNp3BD cQRGhCSwDY1OBcuLjI8RC0W1FU0yNtGInrEWN+yD26vt9STSYVjQ6KjSxaDQXFY4+j9frC6dzo0 E5S7aj6pYfU0dFfjFBnmljcexpDN+rlmX6GxXK0d39w82nNtHXA5SKhC5kKOYWATpuOyNhJbuA7 JtTDHyFULillVlrvVFQGSKvy0BAEggD4tV2XaMQSWrwDnzgTECsGN3k8ajYupDnDDD0NZHVYSvM TqvRVMXbH2NbCNLGoijrLDfeFw/A1zWqlXqYxr2CuIWrzwGbrFXUT1hydJxCRtnKoJA/RJmoaK1 UAo1R4/0G2AF8kiqsh1+zuTg= X-Received: by 2002:a05:622a:2304:b0:52d:5e88:4246 with SMTP id d75a77b69052e-52e42284436mr58145591cf.16.1787739700518; Wed, 26 Aug 2026 03:21:40 -0700 (PDT) X-Received: by 2002:a05:622a:2304:b0:52d:5e88:4246 with SMTP id d75a77b69052e-52e42284436mr58145241cf.16.1787739700091; Wed, 26 Aug 2026 03:21:40 -0700 (PDT) Received: from [127.0.1.1] ([178.197.219.214]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c250a9b106dsm479830766b.43.2026.08.26.03.21.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 03:21:39 -0700 (PDT) From: Krzysztof Kozlowski Date: Wed, 26 Aug 2026 12:21:23 +0200 Subject: [PATCH v5 02/10] dtc: dt-check-style: Drop stray backslash before quote for continuation-alignment Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260826-n-dts-style-checker-continued-v5-2-fdd16ca6e771@oss.qualcomm.com> References: <20260826-n-dts-style-checker-continued-v5-0-fdd16ca6e771@oss.qualcomm.com> In-Reply-To: <20260826-n-dts-style-checker-continued-v5-0-fdd16ca6e771@oss.qualcomm.com> To: Rob Herring , Saravana Kannan , Krzysztof Kozlowski , Conor Dooley Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2119; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=IlBZ7/A+6aQ52Cw6c4QTonWglV2MNSvQc7eWi9Z8zUs=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqjr4mQ++Vwluh9QBMSM0IXqxdLS1apl219Cvyf vz42KRyP0CJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCao6+JgAKCRDBN2bmhouD 13p0D/0TPwSy1JG+pKBwbzW6KwTVaJ7OQI/NyKp5zgI2TFNSgSxjhoASd2vS/XEkkIMiYkUDqL4 cY+zzShrS7a51puuJE/MGMFPSFFxqzWWzRUKiYho8IpZH1Q93k7NGJHea+HddiivIeopCiEHDDM uaqqJGNcn4bcV7/zWHB6iC1jzwdQ4/V5nh3/AhQZa5FcVfWWlmJc5yQBZNo4zDwjm5MzD8e4EsM HXPKiKWXiN85W9GlpZvgzm4iy3T2o7nHS0CmK1g8zpldUv9h2VdIYH2T1YxWMJyVoiIj2ZdhSDM TWN6TMld4/wDWxcaEPLfXuwq2HnH1fr5uHDXCQ49LmbygsyGUD/Qkao8zvFteVlRCsZ2sxFFh4X 1+BjZTHLRCkjgYFipq031LlGtVEgfaOHxcXxQUNiJzgiuxKwsQeAvrF+gj3e6fSegY0ne18qc6x TW4D1Y0SHWm6MZp22maH4Cfxg9NUJJNlXF62a002eo6k44N2sveTqqMxWZrC0EA3dB5VmY0SqhY ts+SWcxaWGr6patv6nFGrxUby5AJyr4oKZ9oX2Xmlyoy5Z6ubf/u07Bpgcj73HntQznEDMkV2aA VbtXqgD9SfJLmWrRNqMoKBHlt4uPRpukm/k227XcZWWHXWbMkZxe1E85K5lhAfXapL6CXoFjqH6 iL40kX1R7Z7v5VA== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Authority-Analysis: v=2.4 cv=O/oJeh9W c=1 sm=1 tr=0 ts=6a8ebe35 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=+bKQE0WJfmhK2875HamI0Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=gm1a3DUOUa9zjCqAlRYA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-GUID: IyzjRM-IvQQxoLs2f0k6gsnhw_zFMJ_P X-Proofpoint-ORIG-GUID: IyzjRM-IvQQxoLs2f0k6gsnhw_zFMJ_P X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDA4NSBTYWx0ZWRfXxPl3CbDhj/yW kN6jhJUf4errfYak2W2AhNrgFfwUJef1JqUHrE3Sc3tzGPubFC/DsjPoE85YxrNj65aLECBKfqT hkb586NKtW+ablEqyZ2NB+8Me9GidIk8G60SeiveHQZotT3rKqI0E1NKuRJRLYrrQTsPM78NYJ6 q2nNXlpAn3tVloed8zHm4pQ2au6K8LCNhMZKjz23EmTzvfRfIt2LjHZMZE42N8kj5WMfGK5eLDy uIDTbf/1M3eYzqlEtjFlx7orZQ90Zti/qHKm1a7dFdwVurwlqgYREXx0Bxw2LDWmPRJu3krkPQq Bb/Q0DezhadHQozmqUV5cYA3Hx8LquM8MBjcC1WIwnoKrQJyCLWSHoKdXkZdrrYtqyMw2Dncc/c 1sFJxqX3F9SdClgZmyANG5RBjxy1dx1FhIzcGZYhSUuyhD5hnjuWfh9GLZNwskUvsbYf0RGttES uitRqt6n8EGIms1hUVQ== X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDA4NSBTYWx0ZWRfX8YTML4D5W0OS zZDvJR9OhIGPpOi9eQJXXBZJXDavbVsJDLfO25Y0gmOZ7au9NMMe9aHbDloz8mDZVdq3DlGg3Sy 3kRpoDMisbp+By3aaZU0EgZY75VbxDY= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-26_03,2026-08-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0 spamscore=0 adultscore=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 bulkscore=0 priorityscore=1501 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608260085 Drop stray backslash before the quote character in a warning for continuation-alignment rule: (under "<" or \"). Since the '"' character has no quotes, drop the quotes also from '<'. Signed-off-by: Krzysztof Kozlowski --- scripts/dtc/dt-check-style | 4 ++-- scripts/dtc/dt-style-selftest/expected/yaml-cont-align.yaml.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/dtc/dt-check-style b/scripts/dtc/dt-check-style index e5f26d3e2792..833f8a03ddc9 100755 --- a/scripts/dtc/dt-check-style +++ b/scripts/dtc/dt-check-style @@ -948,7 +948,7 @@ def check_continuation_alignment(ctx): if _display_col(cont.indent_str) !=3D target_col: yield (cont.lineno, 'continuation should align to column %d ' - '(under "<" or \\")' % (target_col + 1)) + '(under < or ")' % (target_col + 1)) =20 =20 def check_unclosed_block_comment(ctx): @@ -1052,7 +1052,7 @@ RULES =3D [ 'lines must not exceed 80 columns', check_line_length), Rule('continuation-alignment', 'strict', - 'multi-line property continuations align under "<" or "\\""', + 'multi-line property continuations align under < or "', check_continuation_alignment), Rule('unused-labels', 'strict', 'every label must be &-referenced in the same example/file ' diff --git a/scripts/dtc/dt-style-selftest/expected/yaml-cont-align.yaml.tx= t b/scripts/dtc/dt-style-selftest/expected/yaml-cont-align.yaml.txt index b5576dd0f6b1..c0801c56d5db 100644 --- a/scripts/dtc/dt-style-selftest/expected/yaml-cont-align.yaml.txt +++ b/scripts/dtc/dt-style-selftest/expected/yaml-cont-align.yaml.txt @@ -1,2 +1,2 @@ # mode=3Dstrict -bad/yaml-cont-align.yaml:29: example 0 [continuation-alignment] continuati= on should align to column 11 (under "<" or \") +bad/yaml-cont-align.yaml:29: example 0 [continuation-alignment] continuati= on should align to column 11 (under < or ") --=20 2.53.0 From nobody Mon Sep 28 04:56:11 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D88C33CEB9A for ; Wed, 26 Aug 2026 10:21:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787739706; cv=none; b=k5WDlM7gR3DLZTevSKoyxYfcgoVMnhn9dSB/5anBIw9K0cMtPT8Y/9DWs3eg9UdNk8PwGcIeEYQvyNDWfuRWzz/uCLQEKX4Ypl46faNBK9rIJovfLKh4ElMvT7fyWiNouUlbHa+HWWE0gs3wsrVT86rhWYdO+CSdyrHL8jCd5DI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787739706; c=relaxed/simple; bh=C65UqZmpYTqSq0SMzsq17jhoBI4uhsECXL5HRiw/DMM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=snt95po4wS/h2r+PSZtMq8R3WVWfqhubm25Q9IEtirsLACAPmfsa35Cx60U+idA0GyjPmSXfhDYKuXhfwZbgVhGY3GGK+LE7JXYv2gi38uy4IgkbtAPHoU+di4zFN+yJmGAuIBvkcNtuXT2PFlHqJaGBGCdZ7W7qMiZWsUshoRY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=SnCCO2++; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=EaXeofvU; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="SnCCO2++"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="EaXeofvU" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67QAGWFY3732397 for ; Wed, 26 Aug 2026 10:21:44 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= oqNcfEwqlYZCWWH4U4AgoKO/WcgVnEiNkh6PJ8wYzBo=; b=SnCCO2++0Hn/hBWX yB9EhnFAH2hBRNAk395sPqyKFnIlQrxPxZgdIuYXbFIbhnJPz3oG26oj15D9N+tM krwJP8Bt7DiH9qHYSldE+VAgnnHAG+P1LE/oXhjHKYnQ+HGpWrV3W0oTIr96h+G0 tKSxaAXOvY7SIgTXmtbnNsfliQlgAO2c2MleQxrtp6+0/XFP7tl58NU5FhUVVblO rp7gYe2jNgM88CJ382unkNhNv5ErN/orRqc3Rhtu2RHrJAmiQ+GC/pqcbtBl5BU/ zL1M6Mu5bfduyzv/bdtZLnREKGZAxSVZUJ0m8yUTh8VsmNj6q3Y1Y6vgrx2X7S0S yGAtOQ== Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g9wmqr69v-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 10:21:44 +0000 (GMT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-904ee4473a8so4072726d6.2 for ; Wed, 26 Aug 2026 03:21:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787739703; x=1788344503; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=oqNcfEwqlYZCWWH4U4AgoKO/WcgVnEiNkh6PJ8wYzBo=; b=EaXeofvUPxADXAQqtnMY7xNUi15d3ahV3q8oKxpXqBGFMeU/bOXjyrmd+lpoxRJR5p 9W4s4sICDl2Nb7wl9iruz9pZ/i7/7UMJoGsMH5nAPtihrLw0/hjuZExhhXcnefGBydae IPD/SHxS8FK39afx3LvlT8wgfFZagVmI1HQhnRmGv8Hf6wK2UTk8iffzsY96Mp541xOq hzUUUEyJO3NZi4DabDpVW5Xf0sPVhjLBhk3TVHVu2/rCuHIrxBsmC9qn1Kq//AngGj3z ErBcpwGVsOLMdqDPdmKuqe1Efp0bQ8EGzMr93aarGWutWLkqPLCTXv7w2gumm8+ixyA5 NBGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787739703; x=1788344503; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=oqNcfEwqlYZCWWH4U4AgoKO/WcgVnEiNkh6PJ8wYzBo=; b=al4/V1PW5pCW6uD+c92sEpfwREhDMg64EMJrqdnrwLQlE0D5Q/jhMrdGu6qWCh+6xC xkMrPIDzXYem7fL333s9+szOnGBqWt8Xd9/O3dlSkCNTbq+8/JVwymbGfWUpCpeUTAmp L0vo8GUA2cIHr0U9XLJrnkA0rrJ+DfYBKRtek0mM2vQYXeaTW/t+YWjiIiryKlbaDhke P8bNNi1QJ6xmb795FYiaWverVD5QEmPg4Mx/21VNSXt++Hit6JMPPc31zeGScoE7L5Jq bSMwqeYdtbD5zwJo0wlgbuv4U10I3fse3Njoh13OokK3JmdG6/5fAU5dka7b/jCv/q4B oo4A== X-Forwarded-Encrypted: i=1; AHgh+RqO+Jh+/YB3KU3duuxO9He+560HxnUAWgOgMF7lNObQRF9fYy3h2p0ThTZDX7hwEYiuvPAxMEijj1fxDzw=@vger.kernel.org X-Gm-Message-State: AFuF++nJLNcKiXLGZBgyZSM9c7tDdpTgsHIArb/b2TMAfoIGwe+igNId RgnLPE4VG7cjiJx9dxY2Yj275bWRM/JzHO0COM9hv/NRkoOyP5C0OlsAwTlNgotLUVAOQ+YYsWb umdGi9O/3r4T7w9NF+Jwv7Rrq7KPaQGRyHg1UzXSrMBrR5eA95beFcTabu1YbK8jdOXk= X-Gm-Gg: AR+sD13xeJ2F/SaR27oX4c/yazFl7hmyuKa6QqVxesDX/0FTc0PkUfMUxJNZ4eKbV/S zslaGuOlNijD+m7o33BDklzuFIzYx68ulFavIxA4f9VMQueNsi42vpx464NMIKqOaYJGTLtMyr8 +ObMkp2lVLlxRMF49qf6mORJq/++TMkRaKdANc7STeiviA6VrSccsoIuvBFP543AwHbROP8K8kU ugOMhG/C4XJYNXNh5p4inWN9/A1G55dQ4KrGWLTgBQLwNjFsyufw+pzUgywfJcuSoz6RM9gz4tS 8uCeHlBUAX5N/iIrX7XYjA/0Ry8bCwmg11m+LFbmVr0qbDr+gZtAt9LJOwTWpz2Ii6KXXZZw5o2 YYardB1eINy6ZJdgCaT+G5d8= X-Received: by 2002:ac8:5907:0:b0:519:8b76:2ce0 with SMTP id d75a77b69052e-52e423ab046mr55081691cf.37.1787739702974; Wed, 26 Aug 2026 03:21:42 -0700 (PDT) X-Received: by 2002:ac8:5907:0:b0:519:8b76:2ce0 with SMTP id d75a77b69052e-52e423ab046mr55081171cf.37.1787739702184; Wed, 26 Aug 2026 03:21:42 -0700 (PDT) Received: from [127.0.1.1] ([178.197.219.214]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c250a9b106dsm479830766b.43.2026.08.26.03.21.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 03:21:41 -0700 (PDT) From: Krzysztof Kozlowski Date: Wed, 26 Aug 2026 12:21:24 +0200 Subject: [PATCH v5 03/10] dtc: dt-check-style: Fix alignment of values in continued property lines Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260826-n-dts-style-checker-continued-v5-3-fdd16ca6e771@oss.qualcomm.com> References: <20260826-n-dts-style-checker-continued-v5-0-fdd16ca6e771@oss.qualcomm.com> In-Reply-To: <20260826-n-dts-style-checker-continued-v5-0-fdd16ca6e771@oss.qualcomm.com> To: Rob Herring , Saravana Kannan , Krzysztof Kozlowski , Conor Dooley Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=10257; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=C65UqZmpYTqSq0SMzsq17jhoBI4uhsECXL5HRiw/DMM=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqjr4nFw0TqJkYcRgGV0JIctJAc3bXmX6EhZFnj yw4aEBa+N+JAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCao6+JwAKCRDBN2bmhouD 14SjD/4sHX/OuVZJh3n//TiPdaahFenUeb3DMi1oekjkveykq/HsnzJ/Bd9zA9p9Ylk8t8U7Z0j pzksrNMefHhf8VogNfu9tHJZzUHR6l10qv2N/XqMJJnPaxYSvkkMQjlc1zzD4ErU9sedMTVxrab AvQCYm1IuU16Z7T9w8yV4oqvsnB7YWeOVcTPfu86EFlbvlAWqEMUoS6hbAoGMLJVmMjhW7DBhq4 TURrrzdwGEszsumBFvZkd42JlqTN6yKfLr6InbfxusrOTzOKXzQGMucyIu4eJ5z+saI2NuAhv2z N1KSc42eJ+iXFtrWrf5yx6cXBF54J9l+SR61XVAjOqHb95m41V5WgdQD783iMV5E5NBEe8aIFBr vhRmoqMosRal/jO+jxnd31CDrkaKPsrlEhjq2u02dSaBHbAwO+asbZtZmiMhEbauXon3xJzjL2Z AA0UriUQqNzhG1Kftp//szZ8u+lXzV5sC+mTdY5Lo9pL+HXrPDGqZWrhUQrFC9SNtYM4WG/8DVz uB1d37HlJ8/3NWglGFwrHq8MhAuFF/JPHkMc6K0NAwYZ9Ql2nXKWsaeLIR2NOwIjCHUKm/A8mti Fwjtp1Ku4FD1Fa4x35sV56RsBw+bO2FYvwu55oTXYNXlCA1DmXo48sYkmq7ZE9cC5mq7+HDtz5W JHmxsw7Bm+7RZbQ== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDA4NiBTYWx0ZWRfXx6sSe6AA+P5c OsC1zDR2RbsE0jUA++bFmSEkA71i25QTQeKC3vG6rDw4UOozyk02yW1UYxBJhYTKb/7EAYXez3o xLnhxDLb1K+pdAdRtWCLRllyBWGcyMY= X-Proofpoint-ORIG-GUID: 5vXMuhJuUuTzolj_YxuFPzMwTa3Fs8g6 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDA4NiBTYWx0ZWRfX1o+qS1J/1Ukr mSDf+6nqRNCUTWlQgW6hlRY10ruQ+PU3r7ulz+P6tWwFo64lehIsBvCf2ErnZaYoUhUlxRfolfx 4HgBQgysYFD1Z36AnBLotG3K4XQ2GsqD5YJycLq5g68JcuZjhUijbGTiI8kcR50xWWm/twcYbM/ jF6zF4xwQWBmXcrEn1YV8AUvBvSrHxkV57GL/YbPUaeptI6F6w8AG7/LEmbJ/R4fnvACTdRyMuz LCb1qY7MtITg+tOfBR34SbKTwsd7BgJPZY5js0LZLcIDB1ETy5fYePvb7b+7RLPuZj1aLf7rOvt IHaU7ANuNglTqeFM9/FZZYYQI21Jw15lmsNuycJDzpY8vjTYP9jlPuBoU1BEJx7ErNAYqqGshlT hZaF1U/fQVySfjOeRb+S4pOpZPvf9jYN8xMARIhKijdudTQTADBFoqoiWWvcAqWyekLbckfeWj5 2bYBq14/7bIaiyld2lg== X-Authority-Analysis: v=2.4 cv=T9S8ifKQ c=1 sm=1 tr=0 ts=6a8ebe38 cx=c_pps a=7E5Bxpl4vBhpaufnMqZlrw==:117 a=+bKQE0WJfmhK2875HamI0Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=gEfo2CItAAAA:8 a=EUspDBNiAAAA:8 a=A1X0JdhQAAAA:8 a=hSPt3AOBSVI_F3cxmAoA:9 a=QEXdDO2ut3YA:10 a=pJ04lnu7RYOZP9TFuWaZ:22 a=sptkURWiP4Gy88Gu7hUp:22 X-Proofpoint-GUID: 5vXMuhJuUuTzolj_YxuFPzMwTa3Fs8g6 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-26_03,2026-08-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 suspectscore=0 priorityscore=1501 malwarescore=0 phishscore=0 lowpriorityscore=0 clxscore=1015 spamscore=0 impostorscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608260086 Continued lines in property assignments should be indented to opening '<' or '"' if they also start with that character, e.g.: reg =3D <0x1000 0x100>, <0x2000 0x100>; If the continued line is part of previous phandle, then alignment should be to inner values to make it more readable, e.g.: reg =3D <0x1000 0x100 0x2000 0x100>; Signed-off-by: Krzysztof Kozlowski --- scripts/dtc/dt-check-style | 32 ++++++++++++++----= ---- .../dtc/dt-style-selftest/bad/dts-cont-align.dts | 26 ++++++++++++++++++ .../dtc/dt-style-selftest/bad/yaml-cont-align.yaml | 6 ++-- .../expected/dts-cont-align.dts.txt | 10 +++++++ .../expected/yaml-cont-align.yaml.txt | 3 +- .../expected/yaml-value-ws-multiline.yaml.txt | 1 + .../dtc/dt-style-selftest/good/dts-cont-align.dts | 13 +++++---- .../dt-style-selftest/good/yaml-cont-align.yaml | 32 ++++++++++++++++++= ++++ 8 files changed, 104 insertions(+), 19 deletions(-) diff --git a/scripts/dtc/dt-check-style b/scripts/dtc/dt-check-style index 833f8a03ddc9..5ca477d60889 100755 --- a/scripts/dtc/dt-check-style +++ b/scripts/dtc/dt-check-style @@ -926,10 +926,11 @@ def check_line_length(ctx): =20 def check_continuation_alignment(ctx): """A multi-line property's continuation lines must align their - first non-whitespace character to the display column of the first - '<' or '"' after the '=3D' in the leading line. Display columns are - used so tab-indented .dts files (where a continuation aligns with - tabs plus spaces) are compared correctly.""" + first non-whitespace character to the display column of: + 1. the first '<' or '"' after the '=3D' in the leading line, if contin= uation is with '<' or '"' + 2. the first value, if the continuation is still the same phandle. + Display columns are used so tab-indented .dts files (where a continuat= ion + aligns with tabs plus spaces) are compared correctly.""" for dl in ctx.lines: if dl.linetype !=3D LineType.PROPERTY: continue @@ -938,17 +939,26 @@ def check_continuation_alignment(ctx): eq =3D dl.raw.find('=3D') if eq < 0: continue - # First '<' or '"' after '=3D' - rest =3D dl.raw[eq + 1:] - m =3D re.search(r'[<"]', rest) + # First '<' or '"' after '=3D', but ignore comments and strip trai= ling + # whitespace (e.g. remaining after removing the comment) + rest =3D _strip_strings_and_comments(dl.raw[eq + 1:]).rstrip() + m =3D re.search(r'\s*([<"])', rest) if not m: continue - target_col =3D _display_col(dl.raw[:eq + 1 + m.start()]) + dl_value_complete =3D rest.endswith('",') or rest.endswith('>,') + target_col =3D _display_col(_strip_strings_and_comments(dl.raw[:eq= + 1 + m.start(1)])) for cont in dl.continuations: - if _display_col(cont.indent_str) !=3D target_col: + target_offset =3D 0 + err_msg_explanation =3D 'to < or "' + if not dl_value_complete: + target_offset =3D 1 + err_msg_explanation =3D 'to the value under <' + if _display_col(cont.indent_str) !=3D target_col + target_offs= et: yield (cont.lineno, 'continuation should align to column %d ' - '(under < or ")' % (target_col + 1)) + '(%s)' % (target_col + target_offset + 1, err_msg_e= xplanation)) + # Align to the value within <> or "" of continuation (so the p= revious line) + dl_value_complete =3D cont.stripped.endswith('",') or cont.str= ipped.endswith('>,') =20 =20 def check_unclosed_block_comment(ctx): @@ -1052,7 +1062,7 @@ RULES =3D [ 'lines must not exceed 80 columns', check_line_length), Rule('continuation-alignment', 'strict', - 'multi-line property continuations align under < or "', + 'multi-line property continuations align under <, " or the value = under <', check_continuation_alignment), Rule('unused-labels', 'strict', 'every label must be &-referenced in the same example/file ' diff --git a/scripts/dtc/dt-style-selftest/bad/dts-cont-align.dts b/scripts= /dtc/dt-style-selftest/bad/dts-cont-align.dts new file mode 100644 index 000000000000..5390ebbf4059 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/bad/dts-cont-align.dts @@ -0,0 +1,26 @@ +// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +/dts-v1/; + +/ { + compatible =3D "example,test-board"; + #address-cells =3D <1>; + #size-cells =3D <1>; + + interrupt-controller@10000 { + compatible =3D "example,intc"; + reg =3D <0x10000 0x1000>; + clocks =3D <1 2 3>, /* comments with " < , should not matter */ + <4 5 6>, + <7 8 9>; + interrupts =3D <1 2 3>, /* comments with " < , should not ... */ + <4 5 6>, + <7 8 9>; + pinmux =3D <0x01 + 0x02>, + <0x03 + 0x04>; + power-domain-names =3D "foo", + "bar", /* comments with " < , should not */ + "baz"; + }; +}; diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-cont-align.yaml b/scrip= ts/dtc/dt-style-selftest/bad/yaml-cont-align.yaml index 92778540b056..ccf443173dca 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-cont-align.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-cont-align.yaml @@ -25,6 +25,8 @@ examples: - | foo@1000 { compatible =3D "example,test-cont-align"; - reg =3D <0x1000 0x100>, - <0x2000 0x100>; + reg =3D <0x1000 0x100>, /* comments with " < , should not matter */ + <0x2000 0x100>, /* comments with " < , should not matter */ + <0x3000 + 0x100>; }; diff --git a/scripts/dtc/dt-style-selftest/expected/dts-cont-align.dts.txt = b/scripts/dtc/dt-style-selftest/expected/dts-cont-align.dts.txt new file mode 100644 index 000000000000..a7ed62677a2b --- /dev/null +++ b/scripts/dtc/dt-style-selftest/expected/dts-cont-align.dts.txt @@ -0,0 +1,10 @@ +# mode=3Dstrict +bad/dts-cont-align.dts:13: [continuation-alignment] continuation should al= ign to column 26 (to < or ") +bad/dts-cont-align.dts:14: [continuation-alignment] continuation should al= ign to column 26 (to < or ") +bad/dts-cont-align.dts:16: [continuation-alignment] continuation should al= ign to column 30 (to < or ") +bad/dts-cont-align.dts:17: [continuation-alignment] continuation should al= ign to column 30 (to < or ") +bad/dts-cont-align.dts:19: [continuation-alignment] continuation should al= ign to column 27 (to the value under <) +bad/dts-cont-align.dts:20: [continuation-alignment] continuation should al= ign to column 26 (to < or ") +bad/dts-cont-align.dts:21: [continuation-alignment] continuation should al= ign to column 27 (to the value under <) +bad/dts-cont-align.dts:23: [continuation-alignment] continuation should al= ign to column 38 (to < or ") +bad/dts-cont-align.dts:24: [continuation-alignment] continuation should al= ign to column 38 (to < or ") diff --git a/scripts/dtc/dt-style-selftest/expected/yaml-cont-align.yaml.tx= t b/scripts/dtc/dt-style-selftest/expected/yaml-cont-align.yaml.txt index c0801c56d5db..eb9a84d5c222 100644 --- a/scripts/dtc/dt-style-selftest/expected/yaml-cont-align.yaml.txt +++ b/scripts/dtc/dt-style-selftest/expected/yaml-cont-align.yaml.txt @@ -1,2 +1,3 @@ # mode=3Dstrict -bad/yaml-cont-align.yaml:29: example 0 [continuation-alignment] continuati= on should align to column 11 (under < or ") +bad/yaml-cont-align.yaml:29: example 0 [continuation-alignment] continuati= on should align to column 11 (to < or ") +bad/yaml-cont-align.yaml:31: example 0 [continuation-alignment] continuati= on should align to column 12 (to the value under <) diff --git a/scripts/dtc/dt-style-selftest/expected/yaml-value-ws-multiline= .yaml.txt b/scripts/dtc/dt-style-selftest/expected/yaml-value-ws-multiline.= yaml.txt index 3df55b1762d0..d25b5b425e3f 100644 --- a/scripts/dtc/dt-style-selftest/expected/yaml-value-ws-multiline.yaml.t= xt +++ b/scripts/dtc/dt-style-selftest/expected/yaml-value-ws-multiline.yaml.t= xt @@ -1,2 +1,3 @@ # mode=3Dstrict bad/yaml-value-ws-multiline.yaml:25: example 0 [value-whitespace] extra wh= itespace inside <...> +bad/yaml-value-ws-multiline.yaml:26: example 0 [continuation-alignment] co= ntinuation should align to column 12 (to the value under <) diff --git a/scripts/dtc/dt-style-selftest/good/dts-cont-align.dts b/script= s/dtc/dt-style-selftest/good/dts-cont-align.dts index 36fb4eefcd83..b52ee6cccd8c 100644 --- a/scripts/dtc/dt-style-selftest/good/dts-cont-align.dts +++ b/scripts/dtc/dt-style-selftest/good/dts-cont-align.dts @@ -15,12 +15,15 @@ / { interrupt-controller@10000 { compatible =3D "example,intc"; reg =3D <0x10000 0x1000>; - interrupts =3D <1 2 3>, + interrupts =3D <1 2 3>, /* comments with " < , should not ... */ <4 5 6>, <7 8 9>; - pinmux =3D < - 0x01 - 0x02 - >; + pinmux =3D <0x01 + 0x02>, + <0x03 /* comments with " < , should not matter */ + 0x04>; + power-domain-names =3D "foo", /* comments with " < , should not */ + "bar", + "baz"; }; }; diff --git a/scripts/dtc/dt-style-selftest/good/yaml-cont-align.yaml b/scri= pts/dtc/dt-style-selftest/good/yaml-cont-align.yaml new file mode 100644 index 000000000000..2e7b8582bb7c --- /dev/null +++ b/scripts/dtc/dt-style-selftest/good/yaml-cont-align.yaml @@ -0,0 +1,32 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/test-good-cont-align.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Test fixture with aligned multi-line property + +maintainers: + - Test User + +properties: + compatible: + const: example,test-cont-align + reg: + maxItems: 2 + +required: + - compatible + - reg + +additionalProperties: false + +examples: + - | + foo@1000 { + compatible =3D "example,test-cont-align"; + reg =3D <0x1000 0x100>, + <0x2000 0x100>, + <0x3000 + 0x100>; + }; --=20 2.53.0 From nobody Mon Sep 28 04:56:11 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 14D7B347537 for ; Wed, 26 Aug 2026 10:21:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787739708; cv=none; b=JOXNuLOlGKP0kJKiBADDN4H/+h8eTg1nbfHxFBYf55b1r2YNJCc9P97LlU+FDNWZZAcpxnmu4uJouDWQ/3aqUnpBa3DF4pxbmyaD1zpDBq4iYUi/sj0Wv21xTLu/YYasP/oJpQANTHg7HkGyPf0E7rz+lYcCaYRa7/KPAGD0Yd8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787739708; c=relaxed/simple; bh=aDvEkqQt6kelBDrugNAS/u6ayLc9LYlkgOGqmq/x7Hg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pgpp7XmGi5R+SWtH2dHE7w8Lg6fvF0ylliZK7cvKIf7llWfCA/rIDbCqdhS6O/Nuayxz6AhLMaz+XDBUB/LBhI/311ezCsilhfg5xqjIxADUqTAY57wB40ta1Kk63d0SEiAzV5LnLaK9tJOrfQwDF4fQgeKjnrn4R9TlbJHaMS0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=C3Ui3Yes; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=AcWTqLuf; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="C3Ui3Yes"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="AcWTqLuf" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67QAGXZk3732405 for ; Wed, 26 Aug 2026 10:21:46 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 5w1Cg0zBsR26u0WpOExxHjYidIfSHKslGd4PsdiEYTo=; b=C3Ui3YesxvBn8IS6 OtHYKPb8mdG4wl/zT0n5H8+1N8Z8I0D6Il1cgiVaDVtYx0JTVHffDMVwk44sfIYo XjhuT76R64Ka3Oz1TBpqkumqgsvzD62Z7SoCILhA/GmBOykbmhtnV/8cdvZwfOcc p1CL3RQdSg+mzl7rnau7bldg+OxvlKQMju5oGXzHBTD5rhK0HDhmBfZk5R75pW/8 BCaiLSBWzeCPY5LGTXeL4gOlUIB/jhRkTF+meRaS6WDNO6FXyUcaSld0E77vTxyZ mDlsxDQm6qwR/BeClKOqc6p4YSJgib67Wlo1/HfU9Zzu8iVwnpMC/10qHU3NsWyV eMXKpg== Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g9wmqr6ad-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 10:21:45 +0000 (GMT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-8f39a46efd9so16730036d6.1 for ; Wed, 26 Aug 2026 03:21:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787739705; x=1788344505; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=5w1Cg0zBsR26u0WpOExxHjYidIfSHKslGd4PsdiEYTo=; b=AcWTqLufHKDTlMb7U2ND2vwWamwE7vUb0r4A0YqKiKTb7/YSsXG+L/pZYP91q73wDF 4NCGE8ZWiPzYLsRemKdrDEOH9S5oHyt+7GwYUraU2LCNkOPb0VmZTNJ3XQW/iyBPZUBx BVfoOW0NQMi/YeK6IHmR6Cf5CerwSy38AJPajwNtc81LZAwAZwvcXkVMjbmsB3QmEIMM uSFsvE9xiYFPrnWT9ONJ0I02T4RO4R4LLWdGDNsGi+iMyeN55QCnOOR2+n3Lp2fXHHSa OXolu0NPq8m6Je9/bymLXBFHCoRB0Kfd3+hbkhje6ikrRHqCYnE6ZY9LkIGQY2sIJR1M XSOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787739705; x=1788344505; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=5w1Cg0zBsR26u0WpOExxHjYidIfSHKslGd4PsdiEYTo=; b=lhUHgf4iKaVToph0Rh5ti5lFVJa8rwMaHrCL2bV/G5r2aYrLq0gSdjvZyEV6KxALZJ 4vHrSmvbTkw/0xnGapGh1gPwppWxh3/CYklYA4xbo9bVMzKGB5JFur2M4QM/jCE12zdK gxKD01/sgeRJNS3edFdegbeSW/fBty3XZa/z336t4j6dZGe2e4eU0uWSALaMay8nhRP9 bJ580S9P8VMOUnQ21xlTdJarsAhZ0E7Up8wpM5zCKihdE2SM4uRMuVhoHPDGSflDqSnR xpdzFCNeYOskfY6vm4zJzbd9c8h9D18BQYIpebiAUoVJRZe7HYYSYOiKdaRFw8qkipLi D+3w== X-Forwarded-Encrypted: i=1; AHgh+RqNzQO7K/0XixOIYBPWNO7+qOWsiBAJOz5yTKQtZcOCFMM7yTauC6OOQw2vr8SryyEArNu7q9DeOH0PUqo=@vger.kernel.org X-Gm-Message-State: AFuF++nWr1FWXrJj2JB3ZzW7oViM5cv8Epts4PJJnypvsE+zzHzX1E1J 3dNUAeF0J+3jPAe76STISlribNr1sakNS9xrXdH0fHXbiXaDnhrD9LS83iZoDIxdpG/rrqOoSVT rb2PVpw89xS/eFMuw7aC3sjfXJ28UGou2UGR+CLdloJfoO3aEQdC1oLrkgbTzDQO1txo= X-Gm-Gg: AR+sD13e9BS1U0eXXq0J5CMVUdYoaOM8SRoEtgmS28pHT5Gc3jvKwpjhg5HTSb4o1Ll 4vrcwjX5TyLvFlIGXMW2eB8rKeW9VizONj4DqxjaPe5hzrevS9Yip23zumIaXNt4MFbCUogU1j/ bIzFrAHxVG9W/qTy4OdmnVgnf17X4VIGBYNOi2WUnZRvGPeQ3hCaetbYSrmMMzxcd4eoB2FLJJT wobxyqoNYoPH4snOhUv2ktZ/d32NdTvvFhNsP3FjsaMR7/Gran7nDmMFATh89R0t1y5JdB+EYjM YbbPMZdy5SUkzF4xeg4bQVP5sMH+hHrMIdqwzZWzcUrJmGtFlsVUoEULNZiFLE3in/AAKrriLI6 +XaZ5hbHDUgiJzyU1IxMOj8Q= X-Received: by 2002:ac8:5a93:0:b0:517:c65c:4987 with SMTP id d75a77b69052e-52e2ed676e5mr130217151cf.22.1787739704959; Wed, 26 Aug 2026 03:21:44 -0700 (PDT) X-Received: by 2002:ac8:5a93:0:b0:517:c65c:4987 with SMTP id d75a77b69052e-52e2ed676e5mr130216901cf.22.1787739704547; Wed, 26 Aug 2026 03:21:44 -0700 (PDT) Received: from [127.0.1.1] ([178.197.219.214]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c250a9b106dsm479830766b.43.2026.08.26.03.21.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 03:21:43 -0700 (PDT) From: Krzysztof Kozlowski Date: Wed, 26 Aug 2026 12:21:25 +0200 Subject: [PATCH v5 04/10] dtc: dt-check-style: Consistently call 'kind' as 'file_type' Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260826-n-dts-style-checker-continued-v5-4-fdd16ca6e771@oss.qualcomm.com> References: <20260826-n-dts-style-checker-continued-v5-0-fdd16ca6e771@oss.qualcomm.com> In-Reply-To: <20260826-n-dts-style-checker-continued-v5-0-fdd16ca6e771@oss.qualcomm.com> To: Rob Herring , Saravana Kannan , Krzysztof Kozlowski , Conor Dooley Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=3656; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=aDvEkqQt6kelBDrugNAS/u6ayLc9LYlkgOGqmq/x7Hg=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqjr4oa+DCvN7lMwUoKvVV4IpMx2bcwwa8ZW4jf +WUORXx5GmJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCao6+KAAKCRDBN2bmhouD 1yUtD/oChlggxciwQFVgzJ3wcaF7yHouUyk9i5YbEbgShc7N9sxJcktXN2v5rAb8uh2eSrA2wte BHlmtosRJTh5vdoNNR9xAn48dqX2DPm9KQJKM4+2Kb+3djR5mnbPTED5QsuqALbKaetxJS0Gznl nBJ0uyzubo8UoUqmHlfTeWGMwNjDBKkWhu2SphjpR1sEFhtATF+TpmLzq+NS1SKHAeH7HnNtbgs 6R+zfbuDbxig66MKZZ16rJ4cb/9QJMTMRzodcQpI0u2uD8NkRuOZk36z/OdNr3YDGsIwmhxrubi 25R40/Jwk1JCpsCDALA6OHuV7mqIhJeqv8Zq6YsCkOu9QHfqVGCLNPwTaRNxeBFoSrFgMjkT6M5 WgIpnA54/yafULECxAgGVK7p1KNKAe5a8fckpVoYYCHf+x0zg3rbOZvp+iFJoMqIZ/quPOKpqCW l6Omj4oORX+LtN3zu9uBY0+KZ/W2EItn5BZ29nqbf4wIuaw5UDY5+UcSFV8Bl1ibOeVF+Xx1xIE hFg8mdompSTeRG3IeJfcNGxDMzUhRRX5ArtJyLxIRdTweys9v6Bmsd7/4HeeFp/JnhHwjxITzo1 oB7OHqOCVTCpMLC7wXBOgmcDLQJNISXvtv9pHLitbX9ODu6UNwZYMPb1/2hxGbF/Qpkqn2QC7o7 2vXmYufS6Agk1Bw== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDA4NiBTYWx0ZWRfX9BvFt2fFhr4e avOtw8+9SF+Bsh8WE/vZcnSC+1AW8m+w1El+Myavgk8Wf5h8LXFtBlqOauuwRKPvqGW+gZxgnxy y4a9p2X4X7LVbZJcJm/6DQlLZ4POcEw= X-Proofpoint-ORIG-GUID: FWK0dxbYKbRYjE6cOUri0NRbbjv-TURh X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDA4NiBTYWx0ZWRfX/9/ar4Jv+rqB 51VuZeNvh0P8F11lMdNAT50HVeIsQuDRjOWOsKgNc1HrFBRZ2k8GvPCVXljb8FVxZoe4kCd/tn0 xBYHtNPtejPhddBnBX/V/Ok1NfsDcYmfxvWixMah4kZWTxp9Vg1p/1Sq0HzmuI0HTM1K9JdA7kd oEB2fgnnEIA11JUV++qGzZ2Z5S7XRO5GZzlJlxrORpt1MyRp4GACBw7N4wq2Sy6P9bl3z6wa1Nj WiY6ZooS4QvtXVzprWlHA3zPYSUWr+PipWGnX3zwnznfIAsz6p0qnQ5DcWCTyjzt0doovtf+9Np /pnHDSAJV0EoPJse77OcxwcYcDZpEKl6UIHd2kcycpaOah+U3oqjuUatjpRB75T6cD/A/lzcin0 Qe6/2LI8Lds4AUkhO/SXd+BSmu7K0O9zIsEO5a2sqlP9Ik1ZKa2AR6J8jp9XTbmtELQIzteea/o mrKSF4Ym9sHJBwCq8qw== X-Authority-Analysis: v=2.4 cv=T9S8ifKQ c=1 sm=1 tr=0 ts=6a8ebe3a cx=c_pps a=7E5Bxpl4vBhpaufnMqZlrw==:117 a=+bKQE0WJfmhK2875HamI0Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=EUspDBNiAAAA:8 a=6JaV1sFd9OF9Hac_-DgA:9 a=QEXdDO2ut3YA:10 a=pJ04lnu7RYOZP9TFuWaZ:22 X-Proofpoint-GUID: FWK0dxbYKbRYjE6cOUri0NRbbjv-TURh X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-26_03,2026-08-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 suspectscore=0 priorityscore=1501 malwarescore=0 phishscore=0 lowpriorityscore=0 clxscore=1015 spamscore=0 impostorscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608260086 Script was using different names for variables or attributes with the same meaning: the type of file (YAML, DTS, DTSI, DTSO). Unify 'kind', 'input_kind' and function input_kind() to consistent 'file_type'. Signed-off-by: Krzysztof Kozlowski --- scripts/dtc/dt-check-style | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/scripts/dtc/dt-check-style b/scripts/dtc/dt-check-style index 5ca477d60889..8b3c9e2fa987 100755 --- a/scripts/dtc/dt-check-style +++ b/scripts/dtc/dt-check-style @@ -314,13 +314,13 @@ def collect_labels_and_refs(text): =20 class Ctx: """Context passed to each rule check. Carries the parsed lines, - raw text, mode and kind.""" + raw text, mode and file_type.""" =20 - def __init__(self, lines, text, mode, kind): + def __init__(self, lines, text, mode, file_type): self.lines =3D lines self.text =3D text self.mode =3D mode # 'relaxed' or 'strict' - if kind in DTS_FAMILY: + if file_type in DTS_FAMILY: self.file_type =3D 'dts' else: self.file_type =3D 'yaml' @@ -1071,14 +1071,14 @@ RULES =3D [ ] =20 =20 -def select_rules(mode, input_kind): +def select_rules(mode, file_type): """Return rules that apply to the given mode and input type.""" rank =3D {'relaxed': 0, 'strict': 1} out =3D [] for r in RULES: if rank[r.mode] > rank[mode]: continue - if input_kind not in r.applies_to: + if file_type not in r.applies_to: continue out.append(r) return out @@ -1088,12 +1088,12 @@ def select_rules(mode, input_kind): # Block runner # ------------------------------------------------------------------------= --- =20 -def check_block(text, mode, input_type): +def check_block(text, mode, file_type): """Run all selected rules on a single block of DTS text. Returns a list of (lineno, rule_name, message) tuples.""" lines =3D classify_lines(text) - ctx =3D Ctx(lines, text, mode, input_type) - rules =3D select_rules(mode, input_type) + ctx =3D Ctx(lines, text, mode, file_type) + rules =3D select_rules(mode, file_type) findings =3D [] for r in rules: for lineno, msg in r.check(ctx): @@ -1150,7 +1150,7 @@ def iter_dts_file(filepath): # Top-level processing # ------------------------------------------------------------------------= --- =20 -def input_kind(filepath): +def get_file_type(filepath): p =3D filepath.lower() if p.endswith('.yaml') or p.endswith('.yml'): return 'yaml' @@ -1170,17 +1170,17 @@ DTS_FAMILY =3D ('dts', 'dtsi', 'dtso') def collect_findings(filepath, mode): """Return a (lines, count) pair for filepath. lines is a list of formatted output strings; count is the number of findings.""" - kind =3D input_kind(filepath) - if kind =3D=3D 'yaml': + file_type =3D get_file_type(filepath) + if file_type =3D=3D 'yaml': iterator =3D iter_yaml_examples(filepath) - elif kind in DTS_FAMILY: + elif file_type in DTS_FAMILY: iterator =3D iter_dts_file(filepath) else: return (['%s: unknown file type, skipping' % filepath], 0) =20 out =3D [] for text, base, idx in iterator: - for lineno, rule, msg in check_block(text, mode, kind): + for lineno, rule, msg in check_block(text, mode, file_type): abs_line =3D base + lineno - 1 ex_tag =3D '' if idx is None else ' example %d' % idx out.append('%s:%d:%s [%s] %s' % --=20 2.53.0 From nobody Mon Sep 28 04:56:11 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A67D43C1086 for ; Wed, 26 Aug 2026 10:21:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787739710; cv=none; b=bG9ABoqnGB7M55xVuLeTTXXKOXMzORBywakacxMsYU0apNkl7mLd+Kt8YBD8ymkYTP1n/vBAAuY3Vl7XyqJquWIMCoCKUrCc9YUSi/YJcUZTgYGXHH8s+jFHSlQsbqY6SN8zPZF6BqcWcq3iEk0ArDvN5hGVnQBni74Qh7U3QxM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787739710; c=relaxed/simple; bh=82AwuC/PlI8zq2Zeq5h4UdQdCvohPXD9NYgvBA91PGs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RJRtUulsFxXuP0HlG0i98fTo9OqzQkSOcO/9JKB5WehKDKhV4dVPtraiq+c6zB1ijqaX8yqjOddsrbLwNCpIvyyYByMro201qicXRLa3ypql7mEPeyRcFLV64ubU34l5DXwxaWYntGzA8PsR6N0chgRpmmddfZjlpXTLBhpR/Zg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=Kxx45KUH; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=MJk4vNCJ; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Kxx45KUH"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="MJk4vNCJ" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67QAGea7121437 for ; Wed, 26 Aug 2026 10:21:48 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= SugCbW4EHZST98apkBDYWKHzfAPSUQ+l2lkHVbrQCWY=; b=Kxx45KUH46KLyTlc eWFW31/aIjfnpD21RYa+nOtGhr2R3y6oXSNCkf7iCQ2e36cMTbwQ/LNoT1u5yf0I AOb9G1Ya8B+0iOB8bP1RWJjTEvm/YAmuzrXLxzROaSSksFtTqEzBvRU3GiJijnUF wdlaTpAWta/p/2cBpYKgibNymztyeR+sxX7dyBLN50m11pVpuk/tNW3JA+uKolGs uFdKu2e6GDE6B+lOmfoGFB1152tW5VWhNdCLWFUKL0zJt14pnXbIXYj42t1HamOa 7R1L2xyE9D6XvjFx3b4MBQn88kYQSTdOqVDvz06IeTHMNaLdJJF74Lnz60+bJrvq wS5ULA== Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g9smx99v2-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 10:21:47 +0000 (GMT) Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-90284139cceso17489376d6.0 for ; Wed, 26 Aug 2026 03:21:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787739707; x=1788344507; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=SugCbW4EHZST98apkBDYWKHzfAPSUQ+l2lkHVbrQCWY=; b=MJk4vNCJYtz23oc0jC+6DpishY7Ef2gIqtmgRaV+bEEF4I/N5wKqzqbNp0OvNkxLXB blM6wintARskJqRmPqSpLumktJLGr7/Jp7ay3H8zN0Pg4/ePxwbn2GFnUui1pW2JkBVU +3a0H+vWzPTVHzp7fE70e6hrgD35EGqXZMT5H4CQE4y9+inNlMjF4xYBYiDBx1Kedzwv ZpAtrC07rVUoFCpGlES71joQfpcyaaNOZ/kxxFlK3mRXFAH75xRzSl1hnDwN336aj2Wn 43NYl7vB68ux+6OzfXZscyWHH3zDubIMvUfgUXMFOSxl90j7lWtk+CNEwkzBq6pOv/We /dSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787739707; x=1788344507; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=SugCbW4EHZST98apkBDYWKHzfAPSUQ+l2lkHVbrQCWY=; b=Mnm3eTaFlxCDECrJ0gxJ4BGZ58h8Fm86pWs0TXFSl6ZQv9pXS7PyeKZgD3keUogIjT rmoX8xnC0ukfeBu2eMTGQCwQgGkDlBaVwjUPTD0X619Jnwc6ztHSBphOb9/53zhRRhIH R2UxFvVCwkDsvOstbKVcjeAUrgVA0vEjal0/uB+/ipmy0FwiFktzDONZFCUucScbkCd0 3QXhpQYwouDjPNt6cmDCnj2o9AU+lRzu6Y2QJSzlTsztHSs4ec+Jga6Z3BA7/ELpUmC1 9aHe0vOBUGZ4eJeiCmoJNt6iR074vkINqCOts3XdxE4zdOPiJHxvakxjMAivBJBjXxX+ wBCA== X-Forwarded-Encrypted: i=1; AHgh+RreNiLEJUajSlB7PgVEZ0mxKbdl13sb5NxJmE3L2wS59YE36WCyznm12bWkzKYgaCt2slzZ4EtyMmBDKp8=@vger.kernel.org X-Gm-Message-State: AFuF++nuCRyoSLbKOAR2hQ05p3H+3LJuEu/iIJcKoSsdgVB7BtSJuqpe mpHz/9DkdKvJYqU1uZBSQr7Ama9FnFIox5+UCZgGKPSrI536Z2/YzQ5N114JSLRIKBxlS3MEtl9 hjS7esYANPdDacyl9DmKA1/jcQacIQ/5iE2CZWjunOth3fhYlPBc+mDn1qOkorQkhJzw= X-Gm-Gg: AR+sD11qUh8GebDBYLefwyWYRbGnuC5Db0Dl3XPm0NCIaZaupAY5zHNUZq7pe3izewp /6igwQUKUAhaDu0PTMveeAB9QQqVOURHTt1g81P9Q9os9pvFTi2Gl+VpDsfkZ50BwrRktMPwpx8 yK2WPmeuvDL5prMdHqM5+dc2PtDqNYc+RVWdDIh5GdFeU6yDVCZDl9zDhs9NUi0T0PeQcMsDtGc 9sUb2qSNdJiExoXY0vt/cl3FaoZDX7iEy2ZE/YgI9TFndEycQhdQTdFJC1/3kZJcDqLbgyr+G5d vMHbgyxThI6mqzlp3wBEm5vCzEmzBLuLrLI7y2jxpnkVbVg9WE54Vw0vXSIZdW8b+DdgoM5yzwy gmME4N2rPQlIwyiMJXn3v0M8= X-Received: by 2002:a05:622a:cc:b0:516:82e2:7788 with SMTP id d75a77b69052e-52e2ec1e3c5mr121113181cf.1.1787739706696; Wed, 26 Aug 2026 03:21:46 -0700 (PDT) X-Received: by 2002:a05:622a:cc:b0:516:82e2:7788 with SMTP id d75a77b69052e-52e2ec1e3c5mr121112741cf.1.1787739706168; Wed, 26 Aug 2026 03:21:46 -0700 (PDT) Received: from [127.0.1.1] ([178.197.219.214]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c250a9b106dsm479830766b.43.2026.08.26.03.21.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 03:21:45 -0700 (PDT) From: Krzysztof Kozlowski Date: Wed, 26 Aug 2026 12:21:26 +0200 Subject: [PATCH v5 05/10] dtc: dt-check-style: Introduce 'stricter' mode Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260826-n-dts-style-checker-continued-v5-5-fdd16ca6e771@oss.qualcomm.com> References: <20260826-n-dts-style-checker-continued-v5-0-fdd16ca6e771@oss.qualcomm.com> In-Reply-To: <20260826-n-dts-style-checker-continued-v5-0-fdd16ca6e771@oss.qualcomm.com> To: Rob Herring , Saravana Kannan , Krzysztof Kozlowski , Conor Dooley Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=7477; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=82AwuC/PlI8zq2Zeq5h4UdQdCvohPXD9NYgvBA91PGs=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqjr4oGCEX8E2/VMhVyv/lcqsWyaDMHRi5xah1i 6BdDPwzKzqJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCao6+KAAKCRDBN2bmhouD 11X5D/0Vbr4XaYQ+OsxqemvZ3B5OfBZI3l12/7A+TOmQxbcRMBUrcM45BB2NAuOE5EhIuRGE5D9 r2ATsQ9Z4ecSH1VboN+V2FQTObb+97CPMnTEPDBxzSsqfi59ixCMhhEy+xjnl1QM1uR3Em8Wz8J hldaqRnCrUYTh55kLrn8PvCIkkTQIyr2fL7NTLaCTNHQZO1EQG27nXvU60GIQl8CYSXziryQdpQ ykIYeThwCX5whW7p0Fhmug9ObrO8iNgM5AKy/8f3RRhEplKUzUEcGceAOgJokEb94o0NPld0oHj LfhUEXzvpZg2HBlfMVt6rgeeVfcBjKN3ALPXLvzSmPPrJigwyyrcY5f1q66fVov1ATDt0VSfIsg eVe5bISQgR8HaAGHzIyyp1GTWNfMMaFNAl86wbkQWwWoq0SUbtBQsmhS+Ld05lGVuaNIlZiwOd0 f+fVZ0/ruCRG45520YEEV1YQ7qaindTRyHw7QO2GrLKxSffia8ARnmwVYyyVzOECEObEVIIBpG9 7Vo6y8IAwyEIUCmG2K21VG++LVJh9M5Sp3+CgE3EGugUB5Te13GeJrZJted6L47+gvkDX/bz2aK nBqzzagpZ/fJOwGnFth+EEfAnqJW8G7wSM85eIKa2F7kdYaKZFiaiooNqkHO2690VlrsqTqSGwj v+8mFqeHOTxbQhw== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Authority-Analysis: v=2.4 cv=O/oJeh9W c=1 sm=1 tr=0 ts=6a8ebe3b cx=c_pps a=UgVkIMxJMSkC9lv97toC5g==:117 a=+bKQE0WJfmhK2875HamI0Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=WUDqnpqoxdndseS9DjUA:9 a=QEXdDO2ut3YA:10 a=1HOtulTD9v-eNWfpl4qZ:22 X-Proofpoint-GUID: p-olM9tw1SQiMl9FpbWWpIads_Mp4ti5 X-Proofpoint-ORIG-GUID: p-olM9tw1SQiMl9FpbWWpIads_Mp4ti5 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDA4NiBTYWx0ZWRfXyaUYqHili+M/ ZnTe7nji4B9SzeNJinu5lfn48lpnXMB+aYY+MaHGmvgS5ZpGw3Uuk+f7QPCXoClohZ8S1Ck24Cw QjZGo5fSuq8Qsft8T3Nt+5Pa3gXLFWXCyC7NQ1GzTeHD8W/U1TWrIFQmMEYf1sf00Rlw1O/H+Za rfFhJiw6zFDQY6xFD7h3W83KB19DRqi/96rDIvi9ZhsKwPZIBZug3+Prih0V0ahNm++JxSzeirF sjFG0E1AT9JHukGJNOqm2+ZF7sCmeAPrDh6PzBFZZnq2MOOH/FRMZKFMf3/M8+3almJXqIWHui6 6AkIf1SmETJpCnhnhkq/UPIXcS7zEfzThw1Z1r8JI0/XCNdsEa+wi1Jyo4Rt/kY0itDOLGfzg6h 1jZJlg6kqS47W9Wkpu9CFTSD2yDhwFk55jtnFu2GhAIYCDLpxLitz8o4qASdZ36wilfT4Z0eh0T vsnME7AE1FJ+YKf3EGg== X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDA4NiBTYWx0ZWRfX8tadgaOt1Ved 47cxjjy//ggHoMMrqvnQIs23kFBB5zvwfMjUPwh+StRSEtyerQ2qQsJ0zJ2hcYzQlZjiyGuxQPx clf52W5jgk++w6AGLXO0vsODe2bUY/c= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-26_03,2026-08-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0 spamscore=0 adultscore=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 bulkscore=0 priorityscore=1501 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608260086 Two rules, which are enabled in 'strict' mode make little sense for DTS: 1. line-length, limiting length of line to 80 characters: DTS often has a bit longer lines, especially for interconnects or heavily nested opp-level. Checkpatch already does not warn for exceeding 80 characters. 2. unused-labels, discouraging unused labels in DTS or YAML (not DTSI or DTSO): while not harming this leads to many false positives, e.g. unused PMIC regulators in DTS. Introduce another 'mode' of running beside existing relaxed and strict: a 'stricter' one where these two rules are moved for DTS. Intention is to have in-tree DTS passing 'strict' mode. Signed-off-by: Krzysztof Kozlowski --- scripts/dtc/dt-check-style | 25 +++++++++++++++---= ---- .../dtc/dt-style-selftest/bad/dts-line-length.dts | 21 ++++++++++++++++++ .../dtc/dt-style-selftest/bad/dts-unused-label.dts | 21 ++++++++++++++++++ .../expected/dts-line-length.dts.txt | 2 ++ .../expected/dts-unused-label.dts.txt | 2 ++ scripts/dtc/dt-style-selftest/run.sh | 2 +- 6 files changed, 64 insertions(+), 9 deletions(-) diff --git a/scripts/dtc/dt-check-style b/scripts/dtc/dt-check-style index 8b3c9e2fa987..a1034f6b9caf 100755 --- a/scripts/dtc/dt-check-style +++ b/scripts/dtc/dt-check-style @@ -5,12 +5,14 @@ # .dts/.dtsi/.dtso source files. Enforces rules from # Documentation/devicetree/bindings/dts-coding-style.rst. # -# Two modes: +# Three modes: # --mode=3Drelaxed (default) # Only rules that produce zero warnings on the current tree. # Suitable for dt_binding_check. # --mode=3Dstrict -# All rules. Required for new submissions. +# Most of the rules. Required for new submissions. +# --mode=3Dstricter +# All rules, including ones having false positives. # # Two input types (auto-detected by file extension): # *.yaml -- DT binding; check each example block @@ -319,7 +321,7 @@ class Ctx: def __init__(self, lines, text, mode, file_type): self.lines =3D lines self.text =3D text - self.mode =3D mode # 'relaxed' or 'strict' + self.mode =3D mode # 'relaxed', 'strict' or 'stricte= r' if file_type in DTS_FAMILY: self.file_type =3D 'dts' else: @@ -332,7 +334,7 @@ class Rule: def __init__(self, name, mode, description, check, applies_to=3D('yaml', 'dts', 'dtsi', 'dtso')): self.name =3D name - self.mode =3D mode # 'relaxed' or 'strict' + self.mode =3D mode # 'relaxed', 'strict' or 'stricter' self.description =3D description self.check =3D check self.applies_to =3D applies_to # input types this rule covers @@ -1060,20 +1062,27 @@ RULES =3D [ check_node_close_alone), Rule('line-length', 'strict', 'lines must not exceed 80 columns', - check_line_length), + check_line_length, applies_to=3D('yaml',)), + Rule('line-length-dts', 'stricter', + 'lines must not exceed 80 columns', + check_line_length, applies_to=3D('dts', 'dtsi', 'dtso')), Rule('continuation-alignment', 'strict', 'multi-line property continuations align under <, " or the value = under <', check_continuation_alignment), Rule('unused-labels', 'strict', 'every label must be &-referenced in the same example/file ' '(skipped for .dtsi/.dtso since labels there are exported)', - check_unused_labels, applies_to=3D('yaml', 'dts')), + check_unused_labels, applies_to=3D('yaml',)), + Rule('unused-labels-dts', 'stricter', + 'every label must be &-referenced in the same example/file ' + '(skipped for .dtsi/.dtso since labels there are exported)', + check_unused_labels, applies_to=3D('dts',)), ] =20 =20 def select_rules(mode, file_type): """Return rules that apply to the given mode and input type.""" - rank =3D {'relaxed': 0, 'strict': 1} + rank =3D {'relaxed': 0, 'strict': 1, 'stricter': 2} out =3D [] for r in RULES: if rank[r.mode] > rank[mode]: @@ -1201,7 +1210,7 @@ def main(): description=3D'Check DTS coding style on YAML examples and ' '.dts/.dtsi/.dtso files.', fromfile_prefix_chars=3D'@') - ap.add_argument('--mode', choices=3D('relaxed', 'strict'), + ap.add_argument('--mode', choices=3D('relaxed', 'strict', 'stricter'), default=3D'relaxed', help=3D'which rule set to apply (default: relaxed)') ap.add_argument('-j', '--jobs', type=3Dint, default=3D0, diff --git a/scripts/dtc/dt-style-selftest/bad/dts-line-length.dts b/script= s/dtc/dt-style-selftest/bad/dts-line-length.dts new file mode 100644 index 000000000000..bde91a922477 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/bad/dts-line-length.dts @@ -0,0 +1,21 @@ +// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +/* + * Test fixture: Line length in DTS + */ + +/dts-v1/; + +/ { + soc@0 { + compatible =3D "simple-bus"; + ranges =3D <0 0 0 0xc0000000>; + + #address-cells =3D <1>; + #size-cells =3D <1>; + + foo@1000 { + compatible =3D "example,test-line-length-this-is-a-very-long-name-indee= d-yeah"; + reg =3D <0x1000 0x100>; + }; + }; +}; diff --git a/scripts/dtc/dt-style-selftest/bad/dts-unused-label.dts b/scrip= ts/dtc/dt-style-selftest/bad/dts-unused-label.dts new file mode 100644 index 000000000000..90802ae107e1 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/bad/dts-unused-label.dts @@ -0,0 +1,21 @@ +// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +/* + * Test fixture: Unused label in DTS + */ + +/dts-v1/; + +/ { + soc@0 { + compatible =3D "simple-bus"; + ranges =3D <0 0 0 0xc0000000>; + + #address-cells =3D <1>; + #size-cells =3D <1>; + + dev: device@1000 { + compatible =3D "example,test-unused-label"; + reg =3D <0x1000 0x100>; + }; + }; +}; diff --git a/scripts/dtc/dt-style-selftest/expected/dts-line-length.dts.txt= b/scripts/dtc/dt-style-selftest/expected/dts-line-length.dts.txt new file mode 100644 index 000000000000..8ed08c309632 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/expected/dts-line-length.dts.txt @@ -0,0 +1,2 @@ +# mode=3Dstricter +bad/dts-line-length.dts:17: [line-length-dts] line exceeds 80 columns (101) diff --git a/scripts/dtc/dt-style-selftest/expected/dts-unused-label.dts.tx= t b/scripts/dtc/dt-style-selftest/expected/dts-unused-label.dts.txt new file mode 100644 index 000000000000..4cdcaba3ba2f --- /dev/null +++ b/scripts/dtc/dt-style-selftest/expected/dts-unused-label.dts.txt @@ -0,0 +1,2 @@ +# mode=3Dstricter +bad/dts-unused-label.dts:16: [unused-labels-dts] label 'dev' defined but n= ever &-referenced diff --git a/scripts/dtc/dt-style-selftest/run.sh b/scripts/dtc/dt-style-se= lftest/run.sh index 8117dd9be90a..5691301d6a4a 100755 --- a/scripts/dtc/dt-style-selftest/run.sh +++ b/scripts/dtc/dt-style-selftest/run.sh @@ -26,7 +26,7 @@ run() { # good/ -- must exit 0 and produce no output in both modes for f in "$here"/good/*; do [ -e "$f" ] || continue - for mode in relaxed strict; do + for mode in relaxed strict stricter; do out=3D$(run "$f" "$mode") rc=3D$? if [ -n "$out" ] || [ "$rc" -ne 0 ]; then --=20 2.53.0 From nobody Mon Sep 28 04:56:11 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 18DBA3D9DB4 for ; Wed, 26 Aug 2026 10:21:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787739721; cv=none; b=XSDceGg/1ZhWzmywhf8yaqeJKK6oU5FHOgNT/mvLt5APR5LHzp2PJA274EAddwypwzL1wpOyY64TBH5s6s9C/l5n5r1b7s4yZJF3YIL9Vw9h7lDcXnGa14uSrs5keaDCiUmFAXGoYbKxIj7KYCLtjlNjtgJAlYG1W2AcQSH7OuA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787739721; c=relaxed/simple; bh=sLtLbF7S86pE8AXPx2k+gSnDPess+J9HKtzyUzkbn28=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KPgcFZE5fC2ZYMMVdTazYguVEzW8ddF6VEHc5NuvxDTZMmi8fIDGq8LxCGYUF6XU+jq7TNRPzD9YO867YeIApKMQ+5K/pUtevzVfESyZZIjSvgVKQKEafYntif0mcI+FGwrk14CNaQaWcX5e3hS1DOhpWltyUinBvv3p8SrrPZs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=IN34ZHC3; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=drYvz4Km; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="IN34ZHC3"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="drYvz4Km" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67QAGZME1209770 for ; Wed, 26 Aug 2026 10:21:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Z1WIJvKAd2XOfDndIJ3ooRHt9ByqbXSTIWd0+xfU8KI=; b=IN34ZHC3CdOvE4GJ ScesKJu7mN5hIcPnwzgBRT45SPQQv9coSgMe2hTW32pWGPqB3VZBGBy8reOeM3q2 7/ITXmiLDx1kkyBkiyVW60R9WgQEEBVosgdFQHbU9fffi2akAiAud3tvkx4gd6tN fTeltnYGtrOzPOqHbk1Z5+ntb0mcqkWAGknviC8Zpt67KBhKj64RNR6oiNaQqw3D TvpmZ4WhpD74iO2QgcN4k3tlKWiRYN/NRs8ir2Ug5e1Ev9ZbEMKqw3mZaSl3kqiw igkvsrHjFH4rTPVKY/zWkB8H3vdAX0gH5BvwWwrnhmx1KQPMjo+vYu1okTVo7KtX Z6/XFA== Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g9fgxkdw7-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 10:21:59 +0000 (GMT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-90cc915d1d9so9138246d6.2 for ; Wed, 26 Aug 2026 03:21:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787739718; x=1788344518; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Z1WIJvKAd2XOfDndIJ3ooRHt9ByqbXSTIWd0+xfU8KI=; b=drYvz4Kmrs7UkIoTxNWnP9z4mkUPehaFB5yxZFeDQXj7Ywv6Cnf7+qxVo4crAoaH0r oYnglHc+BLHlr6fQiR9Uj8tAIWpJGAMkJRKDmF5/NRem1tuUt86wBZeDifkYkJbILf62 cd/FwamdafiWeZoB8dAKD+QAN8FQfqq7Y5kRBE9v7ZteaNc+5U8IlUcYC6rPIYlfQhFM c+9fMDRclNssDTiXZ2zQ6ORPzZWshDrJxuJy8DMpVBlRzai4sNxYVZvJEIb0kqfcpyj6 c4W08xnSanRmr19TTKsCnGsfk/plvJCjQst67H2DF46oLxYtuvqvWRis7mzov9TiR/Fb bnBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787739718; x=1788344518; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Z1WIJvKAd2XOfDndIJ3ooRHt9ByqbXSTIWd0+xfU8KI=; b=rqWnwXmmTldT6bpiHoyLl6bSCD9T+YT5MHNenHeUqYhT2JQWtk2ybD9UYtWOmnZ6dh +ASrxJxx6n4UVFjF44SgcxqFefjvQheXvkwa0Q4ZD1lKu0cxSYq6nRJgm02/Q/hRWLaE tcMr7zbtsiL3sCvlYXVCgbY4GlzX+CByPWLWOlmIJ8vShrUDHPBqyCwtQoNdIZ0mhDcd ZO1bXmlTQUyVO02I62GldW4igLLqk2LruWhkPcICIt0NB7MkZt9NNaYeyza930Sefyqq 244wWsZhpR0jJltlyJgpeAkNHzk6iEbxKStDLkzN+aRLBEBKTyq7Mk2DTj6Ih7uHxD3z v0jA== X-Forwarded-Encrypted: i=1; AHgh+Rr90Xj2PTYr8e+Bi088OCkJytx6jNNpQA1PfFbhi0zm0LnNSNywrNG0Q1pV+rLH5UpgBgC6gPmQjF0MUqM=@vger.kernel.org X-Gm-Message-State: AFuF++k7yaCrxNP5He97ngYYeXwSRhFjX3xyIjo86XfQeXkWTxGUN43M eQiQT39Ie5uXJPtNx6lBGzNqdZMODWh++PvcpjgFKoP4aGR2MSw0b8CCZS30VY4hLDpKFlBiMDL A4fuEOv7stIJoJLlQTr+39MXWFez+zL49qhi4JAH7SsLS9lRhD7cj3DF5/gMppyeXwM8= X-Gm-Gg: AR+sD12+b2B4zbpY4RDdR6r7jiRI1TxSTmnMkbQTCKcwkinPF9GpUDBDA1fSINTv7kP GVnBJt9d5cnu3GB2qNYVxGHFCtnLhqTaSMjaIdDpen5FEpmRKgqG33PW0hLq4wD+f0peYGCVbqm LHbzkSI0q9EVeThIfiOjWk7kvuQ5QpOp9U/39FwMLnAs8+GOTL6w2BEhD79VMycuZWPX0v2YxWu ZOAf2gZSzHe95Vv0oSjbUhrZB/clkKnrC/urVjFdqaWBrxmqkyXWICw4mhLf3GZ+fu0bMkl3sTT XXQblYmMbzRzeMCNCx+kQPPfH8DuEdtvYuI1MZiiRguD9ZPpVQx2+VCgJXqUNbr0HYxsJddue2d QkaRD8TI/OZk+KeCqubmL2Zc= X-Received: by 2002:a05:622a:4cc3:b0:51c:1fa1:80da with SMTP id d75a77b69052e-52e42416041mr58321101cf.40.1787739713065; Wed, 26 Aug 2026 03:21:53 -0700 (PDT) X-Received: by 2002:a05:622a:4cc3:b0:51c:1fa1:80da with SMTP id d75a77b69052e-52e42416041mr58316301cf.40.1787739707779; Wed, 26 Aug 2026 03:21:47 -0700 (PDT) Received: from [127.0.1.1] ([178.197.219.214]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c250a9b106dsm479830766b.43.2026.08.26.03.21.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 03:21:46 -0700 (PDT) From: Krzysztof Kozlowski Date: Wed, 26 Aug 2026 12:21:27 +0200 Subject: [PATCH v5 06/10] dtc: dt-check-style: Replace Test User email with Rob Herring Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260826-n-dts-style-checker-continued-v5-6-fdd16ca6e771@oss.qualcomm.com> References: <20260826-n-dts-style-checker-continued-v5-0-fdd16ca6e771@oss.qualcomm.com> In-Reply-To: <20260826-n-dts-style-checker-continued-v5-0-fdd16ca6e771@oss.qualcomm.com> To: Rob Herring , Saravana Kannan , Krzysztof Kozlowski , Conor Dooley Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=17204; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=sLtLbF7S86pE8AXPx2k+gSnDPess+J9HKtzyUzkbn28=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqjr4pD3NCPeVefUPIbZq3K5pdh/mdEt8PFdflL 1FpG1plAgKJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCao6+KQAKCRDBN2bmhouD 1zSUD/9UAnOBpfFjHpYshtoQlf8Z1TlrS6A7T+ZfPPyQw+99h+IIW6Lww92J5Zf4OMDSDH8IY/9 PjUjutf2lw0BaqlnS2/D+9h49//zoiXgjZWZXvNWbxbikh9lJMrChkmbOFM+6nfMcPc/A8W2XiK DQCvEUeXMPWhoHYeungat1cJ3GSxWqLnIZzzxcNWxQbAEF57c8qUdnkTxLqbCzz8rMwhgE7+Zfq 5XUbIiLeOeQFy5EJUAd8lyrS+L/lhvUXnmVrTRfkbISmgZqNe+TzG5AfdMKvytZ77amj3qDnnCD EADqYDq63Kg3WvKgJV7+oMnOC9w7++Y1YNkINHTVt2oqdq8BPtmtY3Ew21SOVtlucNTva8JQT3v 3rbQzW0noKK21nLbhKhf47+Amk7hwwm8wjmMWyscEdrZRrS4iE/a2qJ7YZV7IHM0OafNTBBdKof QC8XrjfxP79m47jXkkBkgI7Oj8RnQ3D2IBIRQ4Sp33QhzC7sjsDnaYBhzwlCnWSqVaK0A4pFSjo hze56SiOzVAA9mokQSeSmj8wTkRAAXgi93xv7O4tvHLBtgzUf5Uy8T4ZfAVnKY7V4vW2P0k2Y64 Qtz8MyPgMwgI1Ev0wCnUP6yjfwabHWDKlvZRdlHqsfSJ/qTNo7TPjRkz6kCcyOLT+ww+T/dLv/u 6Ah15EvEzJ8xjdA== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Authority-Analysis: v=2.4 cv=MqZiLWae c=1 sm=1 tr=0 ts=6a8ebe47 cx=c_pps a=7E5Bxpl4vBhpaufnMqZlrw==:117 a=+bKQE0WJfmhK2875HamI0Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=gEfo2CItAAAA:8 a=A1X0JdhQAAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=Lkbq6ki4aylNsx_sLmcA:9 a=QEXdDO2ut3YA:10 a=pJ04lnu7RYOZP9TFuWaZ:22 a=sptkURWiP4Gy88Gu7hUp:22 X-Proofpoint-ORIG-GUID: hqcH5cyDozgxgbnTnpqqkpYp_fu7IV2k X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDA4NiBTYWx0ZWRfX0Ip4Y05UnNtB VpJKumtHeJolBEtaXW/bhX6DZXGHw+Tb1kcEAXlxoqMj/tliWsuKC9NZsfrMLQ9pQO/oYFN5Ip1 6hmFDcpA0xDy7Qt7kGnpIXclX+fHes4d6J3/Dc7I4gpl7iGuKs0Fj+Xre/VxfpP5zPFLHjFeIPe MHd0k0DBBx/KN8RptL0V5SXyOm94eC5y5P2Z1MuoFHVFV44Oumikyy99E0ThH0839+iDVCff2tl IRUFVj6bRn77/VtR8+rNxvabjul39ffY+6Fl7atx4p+3Ss1iG+7pEofqbImqfWMMreyTRampVpk u0FEaZp7G+8L0ea7wHUctPOQZVqMYYH5yHFrQ8PLMKXeY8lngd7dUz+zSwDlt1xtRoyVrMV9E4/ bN/7OqI1OfU5D5S3UAGTQ/ID1aRATAn4Hj64oEwPwec1n9T2G1B0ol2OzJX67EnSWqnY/YQ50En wGViY309cUhOm7wm0QQ== X-Proofpoint-GUID: hqcH5cyDozgxgbnTnpqqkpYp_fu7IV2k X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDA4NiBTYWx0ZWRfX3Od6KEtTyemH OePA7KuoazZUKTU8nZo326qv6vdk7eUXvMnuLFQlQsVjmr0RXSWAmmzte527mzsqAVmrLT6qUdt gvHLV9P6g9WGwEC19TJbyjwwcXTrSPg= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-26_03,2026-08-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 impostorscore=0 suspectscore=0 malwarescore=0 bulkscore=0 adultscore=0 clxscore=1015 phishscore=0 lowpriorityscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608260086 scripts/get_maintainer.pl reports email from the example binding fixtures, so let's spare someone at @example.com from receiving bunch of odd emails. Signed-off-by: Krzysztof Kozlowski --- scripts/dtc/dt-style-selftest/bad/yaml-child-addr-order.yaml | 2 +- scripts/dtc/dt-style-selftest/bad/yaml-child-name-order.yaml | 2 +- scripts/dtc/dt-style-selftest/bad/yaml-cont-align.yaml | 2 +- scripts/dtc/dt-style-selftest/bad/yaml-digit-node-order.yaml | 2 +- scripts/dtc/dt-style-selftest/bad/yaml-hex-case.yaml | 2 +- scripts/dtc/dt-style-selftest/bad/yaml-indent-strict.yaml | 2 +- scripts/dtc/dt-style-selftest/bad/yaml-label-in-string.yaml | 2 +- scripts/dtc/dt-style-selftest/bad/yaml-line-length.yaml | 2 +- scripts/dtc/dt-style-selftest/bad/yaml-mixed-indent.yaml | 2 +- scripts/dtc/dt-style-selftest/bad/yaml-multi-close.yaml | 2 +- scripts/dtc/dt-style-selftest/bad/yaml-node-close.yaml | 2 +- scripts/dtc/dt-style-selftest/bad/yaml-prop-order-device-type.yaml | 2 +- scripts/dtc/dt-style-selftest/bad/yaml-prop-order.yaml | 2 +- scripts/dtc/dt-style-selftest/bad/yaml-prop-pairing.yaml | 2 +- scripts/dtc/dt-style-selftest/bad/yaml-required-blank.yaml | 2 +- scripts/dtc/dt-style-selftest/bad/yaml-tab.yaml | 2 +- scripts/dtc/dt-style-selftest/bad/yaml-trailing-comment.yaml | 2 +- scripts/dtc/dt-style-selftest/bad/yaml-trailing-ws.yaml | 2 +- scripts/dtc/dt-style-selftest/bad/yaml-unclosed-comment.yaml | 2 +- scripts/dtc/dt-style-selftest/bad/yaml-unit-addr-prefix.yaml | 2 +- scripts/dtc/dt-style-selftest/bad/yaml-unit-addr.yaml | 2 +- scripts/dtc/dt-style-selftest/bad/yaml-unused-label.yaml | 2 +- scripts/dtc/dt-style-selftest/bad/yaml-value-ws-multiline.yaml | 2 +- scripts/dtc/dt-style-selftest/bad/yaml-value-ws.yaml | 2 +- scripts/dtc/dt-style-selftest/good/yaml-4space.yaml | 2 +- scripts/dtc/dt-style-selftest/good/yaml-cont-align.yaml | 2 +- scripts/dtc/dt-style-selftest/good/yaml-tricky-parsing.yaml | 2 +- 27 files changed, 27 insertions(+), 27 deletions(-) diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-child-addr-order.yaml b= /scripts/dtc/dt-style-selftest/bad/yaml-child-addr-order.yaml index 3df56e69a1ff..7c3b731e059a 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-child-addr-order.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-child-addr-order.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture with addressed children out of order =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-child-name-order.yaml b= /scripts/dtc/dt-style-selftest/bad/yaml-child-name-order.yaml index 35d85e5573c2..f3483033859a 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-child-name-order.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-child-name-order.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture with unaddressed children out of name order =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-cont-align.yaml b/scrip= ts/dtc/dt-style-selftest/bad/yaml-cont-align.yaml index ccf443173dca..a5a9eb17fc17 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-cont-align.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-cont-align.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture with mis-aligned multi-line property =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-digit-node-order.yaml b= /scripts/dtc/dt-style-selftest/bad/yaml-digit-node-order.yaml index 44a9d25e5ba0..068542a98576 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-digit-node-order.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-digit-node-order.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture with digit-leading nodes out of address order =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-hex-case.yaml b/scripts= /dtc/dt-style-selftest/bad/yaml-hex-case.yaml index b26d1bf58de9..c55359a4ca68 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-hex-case.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-hex-case.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture with uppercase hex literals =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-indent-strict.yaml b/sc= ripts/dtc/dt-style-selftest/bad/yaml-indent-strict.yaml index bee4cf118d73..155060a79887 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-indent-strict.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-indent-strict.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture using 2-space indent (rejected by strict mode) =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-label-in-string.yaml b/= scripts/dtc/dt-style-selftest/bad/yaml-label-in-string.yaml index ba512869b702..4a69b503af4b 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-label-in-string.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-label-in-string.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture where a label is only "referenced" inside a string =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-line-length.yaml b/scri= pts/dtc/dt-style-selftest/bad/yaml-line-length.yaml index 64427bf1c385..6e4140e500b5 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-line-length.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-line-length.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture exceeding 80 columns =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-mixed-indent.yaml b/scr= ipts/dtc/dt-style-selftest/bad/yaml-mixed-indent.yaml index 5401d1a423a1..c25a0d1a999e 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-mixed-indent.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-mixed-indent.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture mixing tabs and spaces in indent =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-multi-close.yaml b/scri= pts/dtc/dt-style-selftest/bad/yaml-multi-close.yaml index 4d9fa27b50a2..afc202a698eb 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-multi-close.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-multi-close.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture with two closing braces on one line =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-node-close.yaml b/scrip= ts/dtc/dt-style-selftest/bad/yaml-node-close.yaml index e107659fd9e8..9e714f7e7d47 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-node-close.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-node-close.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture with closing brace not on its own line =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-prop-order-device-type.= yaml b/scripts/dtc/dt-style-selftest/bad/yaml-prop-order-device-type.yaml index e2c69e9ff452..c71fb2c0a3e5 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-prop-order-device-type.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-prop-order-device-type.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture with device_type =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-prop-order.yaml b/scrip= ts/dtc/dt-style-selftest/bad/yaml-prop-order.yaml index 75582a3d2f6e..bf1480e97209 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-prop-order.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-prop-order.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture with reg before compatible =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-prop-pairing.yaml b/scr= ipts/dtc/dt-style-selftest/bad/yaml-prop-pairing.yaml index 767ab21c39f3..51abc540af11 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-prop-pairing.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-prop-pairing.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture exercising -names and pinctrl-names pairing =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-required-blank.yaml b/s= cripts/dtc/dt-style-selftest/bad/yaml-required-blank.yaml index 8bb53240cffa..0036d5e0c4ea 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-required-blank.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-required-blank.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture missing required blank lines =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-tab.yaml b/scripts/dtc/= dt-style-selftest/bad/yaml-tab.yaml index 487d07ff8cb6..937ecdd923b0 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-tab.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-tab.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture with a tab in a DTS line =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-trailing-comment.yaml b= /scripts/dtc/dt-style-selftest/bad/yaml-trailing-comment.yaml index 2368ada8106f..695d046e8454 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-trailing-comment.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-trailing-comment.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture with properties out of order behind trailing comments =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-trailing-ws.yaml b/scri= pts/dtc/dt-style-selftest/bad/yaml-trailing-ws.yaml index 5c4b4bd833c5..f338c14174e6 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-trailing-ws.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-trailing-ws.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture with trailing whitespace =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-unclosed-comment.yaml b= /scripts/dtc/dt-style-selftest/bad/yaml-unclosed-comment.yaml index 63c1c08712a5..191ed775384b 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-unclosed-comment.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-unclosed-comment.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture with an unclosed /* block comment =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-unit-addr-prefix.yaml b= /scripts/dtc/dt-style-selftest/bad/yaml-unit-addr-prefix.yaml index 9b3fe508c5fd..62590948d2de 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-unit-addr-prefix.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-unit-addr-prefix.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture with 0x-prefixed unit address =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-unit-addr.yaml b/script= s/dtc/dt-style-selftest/bad/yaml-unit-addr.yaml index 93705cd45410..5bb19fba5c19 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-unit-addr.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-unit-addr.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture with malformed unit address =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-unused-label.yaml b/scr= ipts/dtc/dt-style-selftest/bad/yaml-unused-label.yaml index 28d7176cbf08..7f862ae5a175 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-unused-label.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-unused-label.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture with an unused label =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-value-ws-multiline.yaml= b/scripts/dtc/dt-style-selftest/bad/yaml-value-ws-multiline.yaml index 504bf0931c27..1d7bc8142fd7 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-value-ws-multiline.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-value-ws-multiline.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture with extra whitespace in a multi-line cell array =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-value-ws.yaml b/scripts= /dtc/dt-style-selftest/bad/yaml-value-ws.yaml index 342ab9f399f1..a5082a158155 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-value-ws.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-value-ws.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture with extra whitespace inside <...> =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/good/yaml-4space.yaml b/scripts/= dtc/dt-style-selftest/good/yaml-4space.yaml index 1502f803c24c..b91b8a8a9512 100644 --- a/scripts/dtc/dt-style-selftest/good/yaml-4space.yaml +++ b/scripts/dtc/dt-style-selftest/good/yaml-4space.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture for dt-check-style =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/good/yaml-cont-align.yaml b/scri= pts/dtc/dt-style-selftest/good/yaml-cont-align.yaml index 2e7b8582bb7c..8463075f9f4c 100644 --- a/scripts/dtc/dt-style-selftest/good/yaml-cont-align.yaml +++ b/scripts/dtc/dt-style-selftest/good/yaml-cont-align.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Test fixture with aligned multi-line property =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: diff --git a/scripts/dtc/dt-style-selftest/good/yaml-tricky-parsing.yaml b/= scripts/dtc/dt-style-selftest/good/yaml-tricky-parsing.yaml index a836d5f36b93..a95d07f883ef 100644 --- a/scripts/dtc/dt-style-selftest/good/yaml-tricky-parsing.yaml +++ b/scripts/dtc/dt-style-selftest/good/yaml-tricky-parsing.yaml @@ -17,7 +17,7 @@ description: | not leave the parser in block-comment state. =20 maintainers: - - Test User + - Rob Herring =20 properties: compatible: --=20 2.53.0 From nobody Mon Sep 28 04:56:11 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A4ED53D75A6 for ; Wed, 26 Aug 2026 10:21:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787739714; cv=none; b=qAZfwXyou4AZa8RwRHJqPN7yBNTaUSMcn6iFiLdNI/SX7r4nVO6K2BfQghKvFOCqoBsEelMywvVO2/PcV6GyMnTF2lGEqi9oDu9snvHxX11p6B1dQ6wwnYtzsHkThvYCWRuYYB1qnJq2JAz1rAfDXmb8adU4NrDdv0p905J9/MY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787739714; c=relaxed/simple; bh=Hrlo6dukOw8/7q1/7jH7ewRJ/FC2IOpIap3793Iz3oY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pfIgCoUoizMjhx1w+Y/Xl1J9pexd/+JfY4ObGU8GYqjySgR9MVrEHvwQm057OO7tAjmKLOaAZYCdaayda9XDrcOAoPjUE5YVwmmPW/55ghtWwAgsbCpWClGoIeEMctFOnnZm4p+rFKtObbR695sZeW+Hi7ntB3aKEat/u933NRQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=jH4n+t9k; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=gaTqiQlA; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="jH4n+t9k"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="gaTqiQlA" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67QAGeS5630919 for ; Wed, 26 Aug 2026 10:21:51 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 9wdDObzWEYKpGfapdkQMbM+TvZkeb+lSLW/BmrbHOlc=; b=jH4n+t9kMQD9ZBN5 pBNkh658V0m+/z9qHZbnT+f3adF/IrdF2JGsjTSIlFfN4PNmNz1xF9kH99q7QDIc K7uf2KH2MhoLDKZD50gBua66sg6Q3jvBzu1m69LS05yUI2bKXu9WnnXOkz0YRdoD EnHpQfBZdz6k3OrKM6h7KsM2QhZCMqR1t/RJtFtuA7kUJOgiaTN/9ZKhC175nLs/ ZaYSPvldIo65xnG8Q0gVxD10hFhgzEEDDmLgWmfue7AIiBWVailuGkIwtlesSPeY TKdu+bRJcQGZ+Hr4tNoa7EiS5y0L67D9cCOK9/lY0R8k2CYDTdKEzT5gUS6/dcS2 qMJTwA== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g9r0k1mpr-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 10:21:50 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-52ee59064d2so1175481cf.1 for ; Wed, 26 Aug 2026 03:21:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787739710; x=1788344510; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=9wdDObzWEYKpGfapdkQMbM+TvZkeb+lSLW/BmrbHOlc=; b=gaTqiQlAclXESgQsoQrzLIbHtuZ1AdkZgoOZ3aZb8xRr1f/X8Tw6SfpnO6zCvqvV3w 94T5j0fchYOsjfcQLIzwmpvI9gpYXQO7Tn5Pf+5q6Hu2oFSOn5ydjjYLEzfQA1ovtVLh EhTsVg/T4WlH9ExVvpHpMWiAfHdKQ2svfqHVMaU6IE19YDjdA9tNpkZoyeE67gLs3cwm P+dfADkZIM9LabirsUake8SLPk7LACXukaRwVpSR12Pvc3wf2xtWiGcEFHuRIhfH0UKp wU5sL6fm7V/FIE5iUvoofwx/R2wHYtg/UqAxDmsaXaeAQj6mrlgjPb7U6jUzuegxiElG H8uA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787739710; x=1788344510; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=9wdDObzWEYKpGfapdkQMbM+TvZkeb+lSLW/BmrbHOlc=; b=c4zqyRIF9ItgbqlmWdjX6Khe4dMyfDfhJANkQrLOkVq4meRJus4daBUunq7RGPSZnf 0/iYe3m2e4Z5HCTVYci2jynU9vSKW2YDqkOyFW9HrhcOnVE8PcTAxMVQmRv59X8DVTsH TyCLoT6SLNG/1TJTiLI0WJ5LlrvXLzMeKdIeRjxrMqkqKxvR6fyFMmKNQnK5LlkblpWo Not7OG9fR2qCNbdRbnnsbTKOgGk1p0Ek2LNDrjnwGNqaddtrdaVSE0kqRG0XL7XE0LZ3 SWO1gnDwpwlq5OVcF7LzBQLQ3Y5FqIcidG7QLR3ZPAhDkyOG5JutA/GqbBWMwe4pZsNR gizg== X-Forwarded-Encrypted: i=1; AHgh+RpAgxewqa1yUrUwAHeJQIHxxba7lWtE+CyE/L03Cw95+Oz0CvHLBuo2IW43Q5dnwNiqCSX5cxfwawUdfg0=@vger.kernel.org X-Gm-Message-State: AFuF++kd/pSqKqOAruluKAIaTVeW+HqZrFUDDUknJ6yTkLS4QTa/uxqR IXMOp2CATvKFADjNOJmqpI5RCouy1TlzNCgnAKD1R3Hfumxw30VbJMz02UqWUwRR6pu+CdV2kUJ Osk/wKC+LsGxvBF4ZzvaICwGGQl2mY0opKWI1KDsgXXQik7jQrt5QTuBY7m3CX1OayJQ= X-Gm-Gg: AR+sD13dbHZZ7+qgvm6EYLy0eOHZNVyk0jDfw6eiy7mkXp154T9j53TLuEssizBidi6 wugxqt30CDzsEW8AkDHTT/6HzKsxJ2EBf9Pr1U3vsMW2HPDZK1Fd2orUNyZ/uQXshizbXUTbc3f UzovOhJoYubsE5bx20Ad0Q5Fb5uWXBjQT6pkBVyScQ3h8toz77pKqj4WeiZWr3QLSNZee0GYCFj izavPYnPb5cF7avICXm57h/77CSFIee7dkIi8Ont3//NK02NjKDbfsGg9KugiED4ucGKxht7I+g fmOFJYhj0ylyolQm3lciunZ+00fWiiKFcNe2fR3k6d1cj8U+IFOQit9ddg8qpoPdG+uqFQMxIOn OZGwH4RltFnSIFnJwNUbhgKQ= X-Received: by 2002:ac8:5c84:0:b0:51c:291:82eb with SMTP id d75a77b69052e-52e2ecc055bmr141415391cf.14.1787739709947; Wed, 26 Aug 2026 03:21:49 -0700 (PDT) X-Received: by 2002:ac8:5c84:0:b0:51c:291:82eb with SMTP id d75a77b69052e-52e2ecc055bmr141415111cf.14.1787739709551; Wed, 26 Aug 2026 03:21:49 -0700 (PDT) Received: from [127.0.1.1] ([178.197.219.214]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c250a9b106dsm479830766b.43.2026.08.26.03.21.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 03:21:48 -0700 (PDT) From: Krzysztof Kozlowski Date: Wed, 26 Aug 2026 12:21:28 +0200 Subject: [PATCH v5 07/10] dtc: dt-check-style: Call _strip_strings_and_comments() only once Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260826-n-dts-style-checker-continued-v5-7-fdd16ca6e771@oss.qualcomm.com> References: <20260826-n-dts-style-checker-continued-v5-0-fdd16ca6e771@oss.qualcomm.com> In-Reply-To: <20260826-n-dts-style-checker-continued-v5-0-fdd16ca6e771@oss.qualcomm.com> To: Rob Herring , Saravana Kannan , Krzysztof Kozlowski , Conor Dooley Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=3069; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=Hrlo6dukOw8/7q1/7jH7ewRJ/FC2IOpIap3793Iz3oY=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqjr4q8T14FqpnCRVaYWb7TWAHrCW3TIGr3Dn1j EQFkTclOmGJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCao6+KgAKCRDBN2bmhouD 1xmbEACJoFcyaRxs2K14S7qXkby8IEsI9KR/NZE3ujBorncm24/+SMGqjTLVzKXaQqCSn/7Lr0R B8rHOLoGEFCFOngQ1UIEM4pn3wEbPmN7Pv3AFLUVogXQXQqIZnjHWj4KdAmKSCK1eRUFTB1RA+v ntqB/+++iXHfT92Gw2E3yxq4GlF382BNTM00s0LLg8vyVxZZKO/dLklauT51wx2MSUalwk4TVjJ hgq3W8MJZl8HmhhbXK2QzIc2p4P8tuqyvgQBR5EsXLrg9K6yJeXDW1G+F7mDx2H2MqN2mSzbEuj apWNajwW0q66J4Mri8rve3zTNbI9qdPqpU1TVx5MP3RnYI/deSOFPLIolkGUXOF0RvCBhhtwqY0 PgHISKPqWeWXes1d+77UQsV5X2wwq4fIqFC2z7BBFmttCxSZ/mNYYc4ijOguFjgLBXpiZ3cAXuR TkKjD2/OpdBiw9f1pqIwESzkPXBsUj3vfym1fRU7VdiGjIfoKmI8zVooujlyX5x4AwFbJnsA0oB 1U2K7YFZCRzZkSPofdTT8V1z0foFDiYP/4Bqyw0X8J2lIGoRle1QqSA1xpY9In8aUEjsijcoktC oI8lOPp1qIsP3OtfNvVVwMCQRbbEH//mWwl4s3s1V/ahNMeAOMZ5aBUNObTGWnyRJFG17BZKBUK gie1dJyF2w4QI3A== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Authority-Analysis: v=2.4 cv=fPEJG5ae c=1 sm=1 tr=0 ts=6a8ebe3e cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=+bKQE0WJfmhK2875HamI0Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=QeQVz4WU_SlHbdLaYJMA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDA4NiBTYWx0ZWRfX+21/5yYRuJdg AQMTuSnBDVrqIEZ/8+pipYZTyX0V9xF3yY1vEsDZsZxKZ0Jh7SoXrgnLDFPkxIBcDyzifst6vqN xCR1jRd/4F4vhgoOj5OHhhWn96CMgTA= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDA4NiBTYWx0ZWRfX+GODzrnbK8f5 vgnRzYJHeO0Tco6AvIVk2FxsniC9h3yT//Tev8w7vVGTP5bYx1T44qWEVZ84gPH8CePAEwOkqXx KlzIH9utqyMsaHiaMw/d0iOfauCLi/QVCWyBXP6cx5noWwYrpHErX6R8wmck+OInZp/fqyS9wLi rdLcJZuJvyMyGw25SGfpyhb/HHD5hOCjakUAj/84036rATQNfARY+ZdO/uqt/rSaQGQaklU62Yv h6eWf6HyacA0GAUOGDAbxB2EdrDKultwsMBi9elhL+mKLjXFGzbx7tgoZQfSMz5/bQkREPVzdow gjJR/OVtX7cDNJaJYF926eBbTwa2qVLn3ROhPpRfHcQSLVdTbYa4X1Ag749tXNmnUdPGJ2Q+auk OEkBiTGmfGkQajrSBN4FcZMx/xjkW6+S5pCFNkJmWg4OY3J9j/uxmgx/OKP82guQYw1GV5WqUJA 4zilteujo/Ww9lZsHLQ== X-Proofpoint-ORIG-GUID: Kx32KBxzDJTtkIpEMFGd_CV6qJVifTEw X-Proofpoint-GUID: Kx32KBxzDJTtkIpEMFGd_CV6qJVifTEw X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-26_03,2026-08-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 spamscore=0 suspectscore=0 impostorscore=0 malwarescore=0 clxscore=1015 adultscore=0 phishscore=0 bulkscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608260086 More than one rule evaluates pure code - stripped from comments and indentation - thus store this pure code in DtsLine class for better performance. Signed-off-by: Krzysztof Kozlowski --- scripts/dtc/dt-check-style | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/scripts/dtc/dt-check-style b/scripts/dtc/dt-check-style index a1034f6b9caf..da7edd5ea079 100755 --- a/scripts/dtc/dt-check-style +++ b/scripts/dtc/dt-check-style @@ -79,18 +79,19 @@ def is_preprocessor(stripped): =20 =20 class DtsLine: - __slots__ =3D ('lineno', 'raw', 'linetype', 'indent_str', 'stripped', = 'is_root', + __slots__ =3D ('lineno', 'raw', 'code', 'linetype', 'indent_str', 'str= ipped', 'is_root', 'prop_name', 'continuations', 'node_name', 'node_addr', 'label', 'ref_name', 'parent', = 'depth', 'closures') =20 def __init__(self, lineno, raw, linetype, depth, indent_str, stripped,= is_root =3D False): self.lineno =3D lineno # 1-based within the block - self.raw =3D raw + self.raw =3D raw # Entire raw line self.linetype =3D linetype self.indent_str =3D indent_str # leading whitespace as-is self.depth =3D depth - self.stripped =3D stripped + self.stripped =3D stripped # Code without indentation + self.code =3D _strip_strings_and_comments(stripped) # Only the = code, skipping trailing comments self.is_root =3D is_root self.prop_name =3D None self.continuations =3D [] @@ -811,8 +812,7 @@ def check_hex_case(ctx): LineType.COMMENT_START, LineType.COMMENT_BODY, LineType.COMMENT_END, LineType.PREPROCESSOR): continue - text =3D _strip_strings_and_comments(dl.raw) - for m in re.finditer(r'\b0[xX][0-9a-fA-F]+\b', text): + for m in re.finditer(r'\b0[xX][0-9a-fA-F]+\b', dl.code): lit =3D m.group(0) if any(c.isupper() for c in lit[2:]) or lit[1] =3D=3D 'X': yield (dl.lineno, @@ -860,9 +860,9 @@ def check_value_whitespace(ctx): for dl in ctx.lines: if dl.linetype !=3D LineType.PROPERTY: continue - segs =3D [_strip_strings_and_comments(dl.raw).strip()] + segs =3D [dl.code] for cont in dl.continuations: - segs.append(_strip_strings_and_comments(cont.stripped).strip()) + segs.append(cont.code) text =3D '' for s in segs: if not s: @@ -895,8 +895,7 @@ def check_node_close_alone(ctx): LineType.COMMENT_START, LineType.COMMENT_BODY, LineType.COMMENT_END, LineType.PREPROCESSOR): continue - text =3D _strip_strings_and_comments(dl.raw) - if '};' in text: + if '};' in dl.code: yield (dl.lineno, 'closing brace must be on its own line') =20 --=20 2.53.0 From nobody Mon Sep 28 04:56:11 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7E1853D88E7 for ; Wed, 26 Aug 2026 10:21:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787739715; cv=none; b=cfjO4ab/Z44VEDNwohgUleTyQba1kHU2STl29fUjksT1A/QZzpPg9+1R8FMDRXLTULZUA6W8HPFxw720N1+ZvwlM1WXCc8iOFf4M6Fa/hV7GWjQnXnENFatIXcALdlzHQKTv+QSG9WBRIHnkh+M1pkZgtbDF8jO8A650jvtpXBs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787739715; c=relaxed/simple; bh=+2ROCb6kqVvx17mUmZm+JMrsgCHyyS4gQ9bjeReqjas=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WYajM+k7QDdRhk1Gfoql4u3ORqphLD1Nia5XVKKg/nEYErHGhKU5oVrq+XWergDcxYqpIHxiv+pl4vFwaeHlr3SmsW7hrRmbQlHCRDwcELAp+3BcPlDzELT7Z3aOvERC1/912mDCN6aCEMABWm1wqo6cQKuDroYThRAXGQePdXI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=f3VI+g1E; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=AsV77qPL; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="f3VI+g1E"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="AsV77qPL" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67QAGWhK1658583 for ; Wed, 26 Aug 2026 10:21:52 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= NdZFtBZ8aaJXcDnF46oSRjvRUH8o02DrQqlCp10tq1s=; b=f3VI+g1E1rSCncp/ b/kMC6Idy8K4+ko3XzZwFEYmmGZwTC9YQYRAfL8WODGLDcv7EEcFVzuN1hWkmfyT zAKmMzgByoKe2dNr+pEMO6bSUoqabXPmAgtSY7GzTcWwpzsdRq0Mzs5WEq9eTGaT rBV2WL1RPzTPkZMpwIJN+jZl/NZnUTF63t6TMq5UAWDL5Gj/YoikdtYmzF9/fqHy OpgNEs9fryYhL8HoQlsF/R9Lty4VDP6bDzDKyeIWlhyD3GrKzaQerEEqMYeT5GNO /FV55Vi1wbh5i9+kBOoeZqheo1DNBH/Wzdh9Gaiwu72JBjLH+efxSdzD5VpTHwFH uSNslQ== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g9uq1rraj-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 10:21:52 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c1d7886cdso14245431cf.1 for ; Wed, 26 Aug 2026 03:21:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787739712; x=1788344512; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=NdZFtBZ8aaJXcDnF46oSRjvRUH8o02DrQqlCp10tq1s=; b=AsV77qPLCGVh+6SniA41r9pW3QXYswlOmUtecNmdfk/gIoniJ8tlu0mpSslvD2rGv3 kW4/IxFJmdO1Z/Xk/F1miKgluHZC+mpO1avJQCfDb8fq1xXbyN+tN2uIRn+6aqdwGCJC xEG2klMzseGdYXawHkkNBE/h+JziGWAzmuRmkX9D9FmoLVWwu7pNz2/Tr6+8nwmMa96o g9pb1ys4il0DQCeTXGlPgSJ3Xr5lFQ0K0d1YguZhBh3D2F1AvC2+7ZqbMwH7Klytjita iWe4diaABBTgUgvKs7bo0Mpz8zwbjrdVVamjcmQzY3hQ9ZuVuRLmJKZ0aK7URx7jGjFX FAiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787739712; x=1788344512; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=NdZFtBZ8aaJXcDnF46oSRjvRUH8o02DrQqlCp10tq1s=; b=U0KG0paD6S4EN7gMkT/AZokVdoDOFuEL0pnSNqSxde+AxmAPUa3mjkrBq/ykgd8bvS 90OZtt2ZhMRGVUHHNmoJbI3XoHDEhYv16Gmo7pTQvoYqZTw031tsc0IEZEnoGkBCu+Ep KRCvAk0kptBJ/3L/wFB2l22Zpg9uClJlpxYnxOiCM/PcS6ZsTB3GZVLBpzireuIBJWkJ PiQBpJ4YHuKmJu8lX+lpfSERLncXr6ATskUUZ1+zzDCgx/bYvWrBE/ZFL9bNgrn1xvK/ m8aGCu0seO/ozSK7LKpuuKJhenZ/s61TpdVmpWNYtpy7CUheBV/Td+bk2C8c5qrw5ung gcMQ== X-Forwarded-Encrypted: i=1; AHgh+RpwTZbFKuIQsu2sNrcMM64GQIAmMGr6L9nQopDYWgbUKg9KB4Qhmdli2UQb659qNCRjdnjqZVhXoVlBDEA=@vger.kernel.org X-Gm-Message-State: AFuF++nobUbzdCS4cU20r+Qg9FR6Gb9OnN/4cTvi3hfi0Q1ateSEELkW txERg132N0tCcoaiEgdEPj/02/wAzof9ybn9nKVZ1AMj1G9vxckKNPDoJmatIOh3PrjML5oelD9 e0PDxYUOs+VYrRxxZ0NjbtXVWp5w3eVs78DyY5gaKEXENANiCaojJMO85bah+bKARyGw= X-Gm-Gg: AR+sD11IBJOHzZChWrmhT6eYcHwhnHhlRpIfleXI9QrVqAL6MnFvaPZbXvXXO6I66Q4 TpetqdwoDO4JG3TUoZwQaIdY0U+stgLmzSdBCYuf+qFCszxiirEx4yv0LXpZVRy+kkc8FXYvM04 OhD1okUqLkhn8Hb9jPOS4GAU/303EFj/jqygNcPa9AM2Jct94P3/n78gIqBBEfC74aYtRmr/5rE QWflMKQYheluzA2gbo//Ix9q4c/wFINFOJmXbfBXdOZKwcsvMv1GZFzKVYLClIo9dMuBjV01656 Cv+jfNz3blPgITk4MxeeGqAK0yct+HIsrOSuPmQpc/Y0wyq1tCGTlR4Y9QiIlfFS9oaWxKeziWi Lq/XMyLiTBkORt4BrtWy5q2s= X-Received: by 2002:ac8:5744:0:b0:52d:f484:eefe with SMTP id d75a77b69052e-52e42367a41mr40040801cf.35.1787739711430; Wed, 26 Aug 2026 03:21:51 -0700 (PDT) X-Received: by 2002:ac8:5744:0:b0:52d:f484:eefe with SMTP id d75a77b69052e-52e42367a41mr40040591cf.35.1787739711051; Wed, 26 Aug 2026 03:21:51 -0700 (PDT) Received: from [127.0.1.1] ([178.197.219.214]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c250a9b106dsm479830766b.43.2026.08.26.03.21.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 03:21:50 -0700 (PDT) From: Krzysztof Kozlowski Date: Wed, 26 Aug 2026 12:21:29 +0200 Subject: [PATCH v5 08/10] dtc: dt-check-style: Add test for trailing white-space in DTS Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260826-n-dts-style-checker-continued-v5-8-fdd16ca6e771@oss.qualcomm.com> References: <20260826-n-dts-style-checker-continued-v5-0-fdd16ca6e771@oss.qualcomm.com> In-Reply-To: <20260826-n-dts-style-checker-continued-v5-0-fdd16ca6e771@oss.qualcomm.com> To: Rob Herring , Saravana Kannan , Krzysztof Kozlowski , Conor Dooley Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1226; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=+2ROCb6kqVvx17mUmZm+JMrsgCHyyS4gQ9bjeReqjas=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqjr4rU1QI+9X48eIpjuU8yGZSCKY+WKWen7KgM 0W84LVzzUSJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCao6+KwAKCRDBN2bmhouD 160kD/0QcR5SHoolRY+NnGnayp8wW5umKxA7VSugOvjG9yfQNl14qqwaiWoQRExQyqMlbf/O7Q+ hY322aKD5VQNv4+MuGhtRCgYLBwHpn+l0UuC0kMNCvsFKktHiM23BTZdNM2UXeDmbdtY7JyYkcj OorlPNbqRlYqfRW741zfGjFS7hvKi9gAU2ZAdcjZx90d4vv74ZpqitavcSGznZltyLDuKFcS3kv fCLrMf9y1C2dKRDVAXPBG7jOxAl7JfIXKgtDVe83TzbVsQQ4gfvMlUwnRiZaJRHwHpqzNuQ0n15 1V+PNi/EwxRPi11GCsulpP6PK7D8c7HZZLcXVqxEEZ40mSC2ytArdMplqDS5OQoaevkIW923+mE cr0P+GTl8HwJDo2vxUrWqfd3+PuWpD+Quyb6X6NWl6TCatZgIMYBfVSWC8cR4/bDYiQxrHp/fXT jghQ8doNpDVzbVh+Qs7fHPUXrjyK2FXpBjXNO5vQOa5WIlOJU2x2BptR5vmZrrMie82hMsLlc+r Cv2ngK3o3U/Dly9X5o3cyGz3M5VI1xQ7gAU1qkvtV7xFxiN08SzJvgAcfgsFjof7jM+GnmH8cKv vYfMs0wMtDBo4/icPXluV9Jitr2BjZSzboqtmemp91i/eXmix6FT/fyD3HE+YW0eri7KYtg7Bqu +vm1/bLf1XB3RgA== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-GUID: XYstmRj1UMTtTQEV5X1NaPGrCrU8ajOc X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDA4NiBTYWx0ZWRfX63N8wSnl+TxV JEaFeV/lmPdoztgMrZNPy5Ns2pCmJNEuCkr5+IUgHuepUUADmMv2MDFcSNl7yvQa8ky22leMGPb 8tuGYvcteRmJ5JgGYg9OI3mpue38fOvApPL68/GkY6vdJiOuVXWBq1k/MlMmYWJmlTtS/cnJQCS XTYHirAnf8xxnyaQBE3ZMZX21owb6rpJ7sIKPvC5gGcwDtP9V2VvX4jU50BftSnFO4LfyJJEsso Wkz6VUdcgSrYkWOzKVZZEwI5MLrNwmBW0vsi3uOZA8sdF768EYhGhLYAqUSL6CjuP9J+PXvPHf5 vHsKJ9IFpBVG8uIdPVECecge6eohpxI+kQt4Uv35upofiS3aTE3PF3wPHySC5X/QZdHWkMcP0lt SsI6EG+Lcb65U9g1FKRjUio2sGdgE846ltPa/kLd+EcXWgRBRQSEDkPOvUxl48bxBg4WqWfc+Xa DWycdSkutoUsDypFsrg== X-Authority-Analysis: v=2.4 cv=Y77IdBeN c=1 sm=1 tr=0 ts=6a8ebe40 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=+bKQE0WJfmhK2875HamI0Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=EUspDBNiAAAA:8 a=ZteHwOODggqzs_94cHsA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-ORIG-GUID: XYstmRj1UMTtTQEV5X1NaPGrCrU8ajOc X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDA4NiBTYWx0ZWRfXxKagVsNEqXWo de7p+8fsn4taZcQkQtEk3b5coYr6HmnLQAyjqdS7iaxV0ttATD877cNcCE0zx12JQcszDZoBMP4 uMouZYbiw0o3qYOVfeswsSBj7Aix3Wg= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-26_03,2026-08-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 suspectscore=0 bulkscore=0 priorityscore=1501 clxscore=1015 phishscore=0 spamscore=0 malwarescore=0 adultscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608260086 Add unit tests for expected warnings for trailing white-spaces in DTS (there is only one for YAML files). Signed-off-by: Krzysztof Kozlowski --- scripts/dtc/dt-style-selftest/bad/dts-trailing-ws.dts | 8 ++++++++ scripts/dtc/dt-style-selftest/expected/dts-trailing-ws.dts.txt | 2 ++ 2 files changed, 10 insertions(+) diff --git a/scripts/dtc/dt-style-selftest/bad/dts-trailing-ws.dts b/script= s/dtc/dt-style-selftest/bad/dts-trailing-ws.dts new file mode 100644 index 000000000000..1eb24d91c640 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/bad/dts-trailing-ws.dts @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +/dts-v1/; + +/ { + compatible =3D "example,test-board"; =20 + #address-cells =3D <1>; + #size-cells =3D <1>; +}; diff --git a/scripts/dtc/dt-style-selftest/expected/dts-trailing-ws.dts.txt= b/scripts/dtc/dt-style-selftest/expected/dts-trailing-ws.dts.txt new file mode 100644 index 000000000000..94d9ae9d616c --- /dev/null +++ b/scripts/dtc/dt-style-selftest/expected/dts-trailing-ws.dts.txt @@ -0,0 +1,2 @@ +# mode=3Drelaxed +bad/dts-trailing-ws.dts:5: [trailing-whitespace] trailing whitespace --=20 2.53.0 From nobody Mon Sep 28 04:56:11 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A495E3C3C16 for ; Wed, 26 Aug 2026 10:21:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787739718; cv=none; b=VKVlmaluViDe/FEoGVjNH5jUeTp4NJBQIdINkb4wl6HANRgNgykH0pI/yAinUkS5FqtwaXFKe+/9Tj8f78fXAyFDSWPP4dzRxfppp1So/Whe2QSl7xzD2DVoNZ58P23Q9Lr5z5BFaQkR9zuhIV8qVac/y+EIdxsKr+u4dxLyvNg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787739718; c=relaxed/simple; bh=tGvlY8tkLcaDnFXErHnzInCo6PMDnllzbfv/cfylV80=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=iCLLbkOnMSzGsJ4961ilpFYt3+RSaFweDlIeDAPtpx4ue0jtvSbfHsRCvBKuK0Mk2uyQwes4BbJCmZCMBcB6CMxBfWjUsFxXYmRg7XNsV/QLX3L5Gp9hMYLuB/eOMgKIAuRzQVwhrfSgUxsfXfqWCcVl/e3fXKYSPtxP7Qn+eyo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=LYv6ybEK; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ILJmZjtJ; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="LYv6ybEK"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ILJmZjtJ" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67QAGa66121378 for ; Wed, 26 Aug 2026 10:21:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= hzWxtPfqPshSGwAuTM686G+g4zadHryR0zflcQIqmPg=; b=LYv6ybEKdMAMbtKc 03f81xZuFTLnCvfFpoUrBPG3AtUABdDgaJN9P1WTQ8ED6D58au2/FaeB3kEYetKe J+bE6Ad+RHiZqkgoqZS1MTtBKF9YWnkNtmWx3/6RBj7OEM1AfqTGJ6pzHHXDHZB/ 0XERA5qacSPbMOkV5dcABpDDuikd4AfieghK/VwXsW9ylZfs+353spApK1HbNnnM yHwzCudjUWIHpYVNNt3do5cv32iE4+UhUv2h9M2RO6cl8StkPgifCKPFEcmmP4Br iWGM8PrXMk8aTnkAM3PO+4v9u9ZaVahMsPcOE27DEsUj3/UapLYcO0lXH8rJyGnp 25ECsw== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g9smx99vx-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 10:21:54 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-51bf321d786so5806931cf.1 for ; Wed, 26 Aug 2026 03:21:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787739714; x=1788344514; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=hzWxtPfqPshSGwAuTM686G+g4zadHryR0zflcQIqmPg=; b=ILJmZjtJQlialyZLPRRhik4/HF6HDayp5YaEoXiKKQBTBL7201X/f3tFiazaqn/wAJ NHufMMhSJNC9qTtgveRtjSj/mB3+0osJBXb3WdWXMmpjayEcPoN3tpgbkyQUXz4Mdxq7 R6quwMtPy6e5BqP1qdrFKCBa9JZnCPhXLlQiGYsbHo9paZoMjKFkWJonb9a0eN57R6qP kXwQ1hPY/wlWN2kgR+vfBdV5ZWmbW05KIBB+v58lB3savAxl2QEl2I8WbiXYWtuElaCC atwIQWqQ2yd36yj+cBWJ2NTtkFSBAT4q69ve0psZvpW8nSCJqIoLKRHL6vzN5i362m1/ 4vRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787739714; x=1788344514; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=hzWxtPfqPshSGwAuTM686G+g4zadHryR0zflcQIqmPg=; b=jWyx7j6P95DqCdnxVa56qpliG3OIIMQPeBJcPrSv/GwZ20NocbPZRRdSWuyQv585o9 uDsufoXRtadr/3Q6oXnmwaIYhdCoJMb4C76zP3tvqAda6/auHhJGRxdCPkIx7XqJVwL5 zWk94xzUjIf6uFgegJWyILzj+wOmjCiqRaffIJvIggH9498by9JSsL3m3VL+yHmzM5/y a5QXpL6dBQmZBqaWHJvYF1C+k2AygM7ZBHIl3gdXbsXS+/EHmGr6d+L2B8TFT3V6ATmp CExx9zgEpacfcX5lXTbo1o8gDnA+VM+E5gAKyCwyTmQuOqj2qPt7SOFzoS2ZsOfxqqHG SpqQ== X-Forwarded-Encrypted: i=1; AHgh+Ro/IcqsgrFsMovp4uGEb2jcGnk+JiVVIfx0CxBssV1BX8NZmSrBebZClR814vrf2dpBfyRa/yE0N0W1AvQ=@vger.kernel.org X-Gm-Message-State: AFuF++nmeFjz3HwpoZin+0CoNn6FdghcUxm7RJpyMvB8j8FWzKv5hFyp Gjq3IfrV6nalLqxGitxznOoMesxoBE6ROJeH9qD8kcal26OKYq5I2IGp0AKqydeA3prTbOwQv5r iE49DPJetk0XKWtwAyNwdaduFVUHh0qarcMknR0ysY/LNWru52tyt6Is/OrBqW2eTOjI= X-Gm-Gg: AR+sD13++S1X/8QJIZ8uwDoELeXeAMzt6U/JKj5Yey747/rATKFSHYilgiZrfaGz+6x w+YVOGrz3/tyqhdb5Bl6G6jeh21oD/wOAXzIq0ebcaGkjv1mJFQofu03lZPosLvnScC0EA2qfJ6 K2GLW72RnaJhrBWnM8c71LCggbJvFQQXY8SaaCZQT1d2sA7Xiyiqv02tNxs5TZz2VLSMDX7yMj3 oRgMh0bVs9+p+O8JfDqEusVZhRg85GyXFYTA6baV89spED+wYW52IKfA9UeK1Vf7ubfHuZWqOAc jMBextCP+8CIa80UGcM+q3nErpNrhrCOC+6P9V8CHHvjwDmxXs2jqaIkj+tkklRPfbk8KYzcm66 2wI/qvYW4bua/2I1V5dlhSW8= X-Received: by 2002:a05:622a:2608:b0:52c:dffc:4645 with SMTP id d75a77b69052e-52e4222c9a0mr54352821cf.7.1787739713445; Wed, 26 Aug 2026 03:21:53 -0700 (PDT) X-Received: by 2002:a05:622a:2608:b0:52c:dffc:4645 with SMTP id d75a77b69052e-52e4222c9a0mr54352351cf.7.1787739712822; Wed, 26 Aug 2026 03:21:52 -0700 (PDT) Received: from [127.0.1.1] ([178.197.219.214]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c250a9b106dsm479830766b.43.2026.08.26.03.21.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 03:21:52 -0700 (PDT) From: Krzysztof Kozlowski Date: Wed, 26 Aug 2026 12:21:30 +0200 Subject: [PATCH v5 09/10] dtc: dt-check-style: Add warning for redundant white-spaces Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260826-n-dts-style-checker-continued-v5-9-fdd16ca6e771@oss.qualcomm.com> References: <20260826-n-dts-style-checker-continued-v5-0-fdd16ca6e771@oss.qualcomm.com> In-Reply-To: <20260826-n-dts-style-checker-continued-v5-0-fdd16ca6e771@oss.qualcomm.com> To: Rob Herring , Saravana Kannan , Krzysztof Kozlowski , Conor Dooley Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=12990; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=tGvlY8tkLcaDnFXErHnzInCo6PMDnllzbfv/cfylV80=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqjr4sJvHeJrEJ/uM+VqnIASSL4Q+OAD/wALVty 0gkSZJ2EpyJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCao6+LAAKCRDBN2bmhouD 1weTD/0YXNDvasJVQu1w2dRily1xAFrk3FbbxaiqoXMMXp1a9tOWKYt0trpGFtnyFUtZnLjtXxf ewsKqq7JV2f4h6NuiiM4EeiXiZzHmhDyiAqDe0l0edrMvUB3kQwXIuS3GGfAhQjlM27znmbkaul dA0F8rqgyGDWsUi6t7nH+J/GsYqvvCK7nog0bINi2yAIptnUPNwcOe1Rn5u+WsZ1lN+QsRcIbHv nthMzsc1FVNlcXVhtnGeZyRtcwG4SRUrvZNkkmzBA3O5rd0BMvEAGgkazr1ICvICi5R5Du+l7Iw TKJ9x2zpPj7B5QSCdbAW3s2yy+v4+60G80YO3tdsGyxnVen0ElVNK0FJbh9laydEOPKz7IMrVyp Ju2Zi/bnGSIYrHkvIKRjL3Gg/G9ZaFqUhxlOmdUP8/qsEIBlu1OHkt5oVyXta+OSqg5Gr3s+SCm nOih5ZReQiKakKzTdyS2erl59j3HW037UEGYotWGlLeKeUp/ZCk8ZoPeIiM+znhn+fbvJB7x0tc CH8hurnWoZuSHwAZQBXJCbw19ZG0fe20JWgQG0gLHzvc9G6lFKnlx3zQ1/1dcnqu1uCh8WAxyFA rxt4m7nXRVpEvWMIfTmbEKaphB1I+bKEcwW2C5AXD6XoF1gDZ0bivGDirhvNvAIIIVK1EdMCfqb 1DOTY2d4ZoAezFA== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Authority-Analysis: v=2.4 cv=O/oJeh9W c=1 sm=1 tr=0 ts=6a8ebe42 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=+bKQE0WJfmhK2875HamI0Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=gEfo2CItAAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=5jFD4gabhsihpJkUSYkA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 a=sptkURWiP4Gy88Gu7hUp:22 X-Proofpoint-GUID: Te9eOFJWtYlqNfqi51E8nLjMIT_L0CL8 X-Proofpoint-ORIG-GUID: Te9eOFJWtYlqNfqi51E8nLjMIT_L0CL8 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDA4NiBTYWx0ZWRfX9ZYjs3uI1ee5 UlEwss9eRExzF8yVjLjxPlqsLGLDWResbT7mlyUF9zCUo2eq2/InqCzGnnjKd0dwIi64hphFYII 1pMh8ApJK/dvhUrPnFx+kBtgoxwS5xvGy0ItjoUYzcmbRGPhNXxCXsBOyphtxcipQNvIUVGeTy0 dwWInj9sikXwUIX7SnFHQdwnY4WyW4frDEuGXC/E5NO0uXFP39SUMytxKrKU7eBXO2EwjnqFwFp Wn3GR7e8OXpufQylBK+XSjiD57+69loTikJJO79NT/8ooKl7ISnsbDWyPFlItrjcMPuf0VgR+Eh C/qM3CMPiRSlurDrR6GW5MZvL8yxcjDX6DDVIqX6PbWIBl74EmE2k7yI0qWqNcLqc0Ztqt3Vt5H HqYr+71v7Re2ie8Z2NM9AmhmERcvNgC/vZBboZyFC0ScCx0U9lAfM2gPjEec90vnAYcq+V8ShgJ HKWgiw7CuTopKCQl8Pg== X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDA4NiBTYWx0ZWRfX5fOp6sVCmyLX 3XTgHrWDlINzR0BdGil/xuxP9ClMYQ+6bLQL0xf0GEYF1v9gg9Jys1VUb1wAN69o6uhhaopZhCU GguWu0k0mChm/XqWvABBiPtOjy4diqA= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-26_03,2026-08-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0 spamscore=0 adultscore=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 bulkscore=0 priorityscore=1501 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608260086 Show warnings of too many spaces around '=3D', before '{' and ';' characters, or using tabs for these. Both in-tree DTS and DT bindings have many warnings for the first case (too mant spaces around '=3D'), thus keep this one only for 'strict' mode. Signed-off-by: Krzysztof Kozlowski --- scripts/dtc/dt-check-style | 44 ++++++++++++++++++= ++++ .../bad/dts-redundant-ws-strict.dts | 27 +++++++++++++ .../dtc/dt-style-selftest/bad/dts-redundant-ws.dts | 28 ++++++++++++++ .../bad/yaml-redundant-ws-strict.yaml | 31 +++++++++++++++ .../dt-style-selftest/bad/yaml-redundant-ws.yaml | 35 +++++++++++++++++ .../expected/dts-property-order.dts.txt | 1 + .../expected/dts-redundant-ws-strict.dts.txt | 13 +++++++ .../expected/dts-redundant-ws.dts.txt | 10 +++++ .../expected/yaml-redundant-ws-strict.yaml.txt | 5 +++ .../expected/yaml-redundant-ws.yaml.txt | 4 ++ 10 files changed, 198 insertions(+) diff --git a/scripts/dtc/dt-check-style b/scripts/dtc/dt-check-style index da7edd5ea079..a60891d76137 100755 --- a/scripts/dtc/dt-check-style +++ b/scripts/dtc/dt-check-style @@ -349,6 +349,42 @@ def check_trailing_whitespace(ctx): yield (dl.lineno, 'trailing whitespace') =20 =20 +def _check_redundant_whitespace(dl): + if dl.linetype in (LineType.COMMENT, LineType.COMMENT_BODY, + LineType.COMMENT_END, LineType.COMMENT_START, + LineType.PREPROCESSOR): + return + if re.search(r'(\s\s+|\t)\{', dl.code): + yield (dl.lineno, 'extra whitespace before {') + if re.search(r':(\s\s+|\t)', dl.code): + yield (dl.lineno, 'extra whitespace after :') + if re.search(r'\s+;', dl.code): + yield (dl.lineno, 'extra whitespace before ;') + + +def check_redundant_whitespace(ctx): + """No whitespace between brackets or other code elements. + See also check_value_whitespace() for more checks.""" + for dl in ctx.lines: + yield from _check_redundant_whitespace(dl) + for cont in dl.continuations: + yield from _check_redundant_whitespace(cont) + + +def check_redundant_whitespace_strict(ctx): + """No whitespace between brackets or other code elements. + See also check_value_whitespace() for more checks.""" + for dl in ctx.lines: + if dl.linetype in (LineType.COMMENT, LineType.COMMENT_BODY, + LineType.COMMENT_END, LineType.COMMENT_START, + LineType.PREPROCESSOR): + continue + if re.search(r'(\s\s+|\t)=3D', dl.code): + yield (dl.lineno, 'extra whitespace before =3D') + if re.search(r'=3D(\s\s+|\t)', dl.code): + yield (dl.lineno, 'extra whitespace after =3D') + + def check_tab_in_yaml_example(ctx): """Reject literal tabs in DTS lines when input is YAML. =20 @@ -1003,6 +1039,10 @@ RULES =3D [ Rule('trailing-whitespace', 'relaxed', 'no trailing whitespace on any line', check_trailing_whitespace), + # See also check_redundant_whitespace_strict() and check_value_whitesp= ace() + Rule('redundant-whitespace', 'relaxed', + 'no redundant whitespace within code', + check_redundant_whitespace), Rule('tab-in-yaml', 'relaxed', 'YAML (also DTS examples) may not contain tab characters', check_tab_in_yaml_example, applies_to=3D('yaml',)), @@ -1053,6 +1093,10 @@ RULES =3D [ Rule('unit-address-format', 'strict', 'unit addresses must be lowercase hex without leading zeros', check_unit_address_format), + # See also check_redundant_whitespace() and check_value_whitespace() + Rule('redundant-whitespace-strict', 'strict', + 'no redundant whitespace within code', + check_redundant_whitespace_strict), Rule('value-whitespace', 'strict', 'no whitespace directly inside <...> brackets', check_value_whitespace), diff --git a/scripts/dtc/dt-style-selftest/bad/dts-redundant-ws-strict.dts = b/scripts/dtc/dt-style-selftest/bad/dts-redundant-ws-strict.dts new file mode 100644 index 000000000000..201e3940ba1c --- /dev/null +++ b/scripts/dtc/dt-style-selftest/bad/dts-redundant-ws-strict.dts @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +/dts-v1/; + +#define SOME_MACRO(foo) \ + (foo) ? <1> : <2> ; + +/ { + compatible =3D "example,test-board"; + #address-cells =3D <1>; + #size-cells =3D <1>; + + /* comments { are okay =3D though ; */ + soc: soc@0 { /* comments { are okay =3D though ; */ + compatible =3D "simple-bus"; /* comments { are okay =3D though ; */ + ranges =3D <0 0 0 0xc0000000>; + + #address-cells =3D <1>; + #size-cells =3D <1>; + } ; +}; /* comments { are okay =3D though ; */ + +&soc { + serial: serial@20000 { /* comments { are okay =3D though ; */ + compatible =3D "example,serial"; + reg =3D <0x20000 0x1000>; + } ; +}; diff --git a/scripts/dtc/dt-style-selftest/bad/dts-redundant-ws.dts b/scrip= ts/dtc/dt-style-selftest/bad/dts-redundant-ws.dts new file mode 100644 index 000000000000..f6480ddc508a --- /dev/null +++ b/scripts/dtc/dt-style-selftest/bad/dts-redundant-ws.dts @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +/dts-v1/; + +#define SOME_MACRO(foo) \ + (foo) ? <1> : <2> ; + +/ { + compatible =3D "example,test-board"; + #address-cells =3D <1>; + #size-cells =3D <1>; + + /* comments { are okay =3D though ; */ + soc: soc@0 { /* comments { are okay =3D though ; */ + compatible =3D "simple-bus"; /* comments { are okay =3D though ; */ + ranges =3D <0 0 0 0xc0000000>; + + #address-cells =3D <1>; + #size-cells =3D <1>; + } ; +}; /* comments { are okay =3D though ; */ + +&soc { + serial: serial@20000 { /* comments { are okay =3D though ; */ + compatible =3D "example,serial"; + reg =3D <0x20000 0x1000>, + <0x30000 0x1000> ; + } ; /* comments { are okay =3D though ; */ +}; diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-redundant-ws-strict.yam= l b/scripts/dtc/dt-style-selftest/bad/yaml-redundant-ws-strict.yaml new file mode 100644 index 000000000000..739c44fd7217 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/bad/yaml-redundant-ws-strict.yaml @@ -0,0 +1,31 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/yaml-redundant-ws-strict.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Test fixture with redundant whitespace + +maintainers: + - Rob Herring + +properties: + compatible: + const: example,test-redundant + reg: + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false + +examples: + - | + device@1000 { + compatible =3D "example,test-trailing"; + reg =3D <0x1000 0x100>; + clocks =3D <&clk 0>; /* comments { are okay =3D though ; */ + clock-names =3D "bus"; /* comments { are okay =3D though ; */ + } ; diff --git a/scripts/dtc/dt-style-selftest/bad/yaml-redundant-ws.yaml b/scr= ipts/dtc/dt-style-selftest/bad/yaml-redundant-ws.yaml new file mode 100644 index 000000000000..b2f51969b0ff --- /dev/null +++ b/scripts/dtc/dt-style-selftest/bad/yaml-redundant-ws.yaml @@ -0,0 +1,35 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/yaml-redundant-ws.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Test fixture with redundant whitespace + +maintainers: + - Rob Herring + +properties: + compatible: + const: example,test-redundant + reg: + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false + +examples: + - | + device@1000 { /* comments { are okay =3D though ; */ + compatible =3D "example,test-trailing"; + reg =3D <0x1000 0x100>, + <0x3000 0x100> ; + } ; + + device@2000 { /* comments { are okay =3D though ; */ + compatible =3D "example,test-trailing"; + reg =3D <0x2000 0x100>; + }; /* comments { are okay =3D though ; */ diff --git a/scripts/dtc/dt-style-selftest/expected/dts-property-order.dts.= txt b/scripts/dtc/dt-style-selftest/expected/dts-property-order.dts.txt index 65977f96331d..29283f3451c7 100644 --- a/scripts/dtc/dt-style-selftest/expected/dts-property-order.dts.txt +++ b/scripts/dtc/dt-style-selftest/expected/dts-property-order.dts.txt @@ -1,4 +1,5 @@ # mode=3Dstrict +bad/dts-property-order.dts:8: [redundant-whitespace] extra whitespace befo= re { bad/dts-property-order.dts:10: [property-order] property 'model' out of ca= nonical order (should sort before 'compatible') bad/dts-property-order.dts:12: [property-order] property 'chassis-type' ou= t of canonical order (should sort before 'qcom,board-id') bad/dts-property-order.dts:20: [property-order] property 'compatible' out = of canonical order (should sort before 'reg') diff --git a/scripts/dtc/dt-style-selftest/expected/dts-redundant-ws-strict= .dts.txt b/scripts/dtc/dt-style-selftest/expected/dts-redundant-ws-strict.d= ts.txt new file mode 100644 index 000000000000..ac0d57bdecdf --- /dev/null +++ b/scripts/dtc/dt-style-selftest/expected/dts-redundant-ws-strict.dts.txt @@ -0,0 +1,13 @@ +# mode=3Dstrict +bad/dts-redundant-ws-strict.dts:7: [redundant-whitespace] extra whitespace= before { +bad/dts-redundant-ws-strict.dts:13: [redundant-whitespace] extra whitespac= e before { +bad/dts-redundant-ws-strict.dts:13: [redundant-whitespace] extra whitespac= e after : +bad/dts-redundant-ws-strict.dts:17: [redundant-whitespace-strict] extra wh= itespace before =3D +bad/dts-redundant-ws-strict.dts:18: [redundant-whitespace-strict] extra wh= itespace after =3D +bad/dts-redundant-ws-strict.dts:19: [redundant-whitespace] extra whitespac= e before ; +bad/dts-redundant-ws-strict.dts:22: [redundant-whitespace] extra whitespac= e before { +bad/dts-redundant-ws-strict.dts:23: [redundant-whitespace] extra whitespac= e before { +bad/dts-redundant-ws-strict.dts:23: [redundant-whitespace] extra whitespac= e after : +bad/dts-redundant-ws-strict.dts:24: [redundant-whitespace-strict] extra wh= itespace before =3D +bad/dts-redundant-ws-strict.dts:25: [redundant-whitespace-strict] extra wh= itespace after =3D +bad/dts-redundant-ws-strict.dts:26: [redundant-whitespace] extra whitespac= e before ; diff --git a/scripts/dtc/dt-style-selftest/expected/dts-redundant-ws.dts.tx= t b/scripts/dtc/dt-style-selftest/expected/dts-redundant-ws.dts.txt new file mode 100644 index 000000000000..3b2a989045ed --- /dev/null +++ b/scripts/dtc/dt-style-selftest/expected/dts-redundant-ws.dts.txt @@ -0,0 +1,10 @@ +# mode=3Drelaxed +bad/dts-redundant-ws.dts:7: [redundant-whitespace] extra whitespace before= { +bad/dts-redundant-ws.dts:13: [redundant-whitespace] extra whitespace befor= e { +bad/dts-redundant-ws.dts:13: [redundant-whitespace] extra whitespace after= : +bad/dts-redundant-ws.dts:19: [redundant-whitespace] extra whitespace befor= e ; +bad/dts-redundant-ws.dts:22: [redundant-whitespace] extra whitespace befor= e { +bad/dts-redundant-ws.dts:23: [redundant-whitespace] extra whitespace befor= e { +bad/dts-redundant-ws.dts:23: [redundant-whitespace] extra whitespace after= : +bad/dts-redundant-ws.dts:26: [redundant-whitespace] extra whitespace befor= e ; +bad/dts-redundant-ws.dts:27: [redundant-whitespace] extra whitespace befor= e ; diff --git a/scripts/dtc/dt-style-selftest/expected/yaml-redundant-ws-stric= t.yaml.txt b/scripts/dtc/dt-style-selftest/expected/yaml-redundant-ws-stric= t.yaml.txt new file mode 100644 index 000000000000..fbf323832c91 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/expected/yaml-redundant-ws-strict.yaml.= txt @@ -0,0 +1,5 @@ +# mode=3Dstrict +bad/yaml-redundant-ws-strict.yaml:26: example 0 [redundant-whitespace] ext= ra whitespace before { +bad/yaml-redundant-ws-strict.yaml:27: example 0 [redundant-whitespace-stri= ct] extra whitespace before =3D +bad/yaml-redundant-ws-strict.yaml:28: example 0 [redundant-whitespace-stri= ct] extra whitespace after =3D +bad/yaml-redundant-ws-strict.yaml:31: example 0 [redundant-whitespace] ext= ra whitespace before ; diff --git a/scripts/dtc/dt-style-selftest/expected/yaml-redundant-ws.yaml.= txt b/scripts/dtc/dt-style-selftest/expected/yaml-redundant-ws.yaml.txt new file mode 100644 index 000000000000..a162967e4336 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/expected/yaml-redundant-ws.yaml.txt @@ -0,0 +1,4 @@ +# mode=3Drelaxed +bad/yaml-redundant-ws.yaml:26: example 0 [redundant-whitespace] extra whit= espace before { +bad/yaml-redundant-ws.yaml:29: example 0 [redundant-whitespace] extra whit= espace before ; +bad/yaml-redundant-ws.yaml:30: example 0 [redundant-whitespace] extra whit= espace before ; --=20 2.53.0 From nobody Mon Sep 28 04:56:11 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 725F63C10BB for ; Wed, 26 Aug 2026 10:22:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787739722; cv=none; b=Bx2fCb4W4iDeTih0qiKGyOLFRFV3GI+egw2YsMiAk2e20BbIAR4TR6ZvVpmwL88KlatKklTeSSW7fSNjSXozy9ETENeDJafm8y5gsusXMnPicrAcvpt38F9U6FX4lD52lyYvK7vvpAr3smIraEfMzobD1W1A9cozNuv+T/89cFc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787739722; c=relaxed/simple; bh=dKa0bkhQNHGF3ECM0RaphHFXMQfLxiwcJfDby9lcfX4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=f3zHzlR2D8Bd3nQ8BRn/TaJGXq+9pzWuAAoGLeqO9hVPEx/m2pgTUL3mrsGaupX/rpVeY0l6ihcbbJYwElidE45S/z76xO5lxGNmbP+MQ5LBVIh7VTpYa2FBhMv6I6gQi7mmPyn3w1f7fVSWlHVT5ZvGwpy+qoBHZTygUoPIRXA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=R2NKrtbG; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=c8r8U+1q; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="R2NKrtbG"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="c8r8U+1q" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67QAH4oI1210823 for ; Wed, 26 Aug 2026 10:22:01 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 9iZ9pKopk4L7oAcIHq+UKI461gaq/BVhdXcIs0vKk0Q=; b=R2NKrtbGzA+fbE53 fp5DaoYw6a1ce1VdiKSobg9vc/PQRmVCRtwTKSp5Pbce9wd605scZELO/MXN6fkI /cYpWPg3Y7ReAEqyJzMlVY9KT9izzPq5Y40IEwf3A7379WDkejSHWRObj/IExpXO Eze544zDu3cR3Ad1H6XHqkuZ6SxJ8PxWukURFtBsTOy3bqX7wzEHPI1+FWepl/WM 3dccThHheJQ5KKEOQAv8oLxAcgS1iJwDKl8Uj5Qu9k1UAhlNHZ4kha9DlpqPjCGj SjyyRD/YBcqdQOVEwXU4GfCLpjBY02VjhGfMoENw6IhwrRrjKk6wCRL8rOR5oCyF EiF1jA== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g9fgxkdw9-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 10:22:00 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-52769fc3f2eso10736391cf.0 for ; Wed, 26 Aug 2026 03:22:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787739720; x=1788344520; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=9iZ9pKopk4L7oAcIHq+UKI461gaq/BVhdXcIs0vKk0Q=; b=c8r8U+1q0fG7/8vwRkqe5miAZ/D3BNIfFhr7t6x6Vhzc48guZn+uh/GxNDF7BVLi9i Dp8eYXlzMTazRr+XCNl783b1C4Gnat08wIm+hOkBlW+pIg3bSKBteCCmjaZmx/TZyL1/ xwtrAxMixxhcHu52EXhW5lhk0qMmZLNtqreNZYOosghyAA58XVirtL0Q52xt8n3NFACe GpNrj2vpU+jGUXTVtzoqWVzy7IHyL5Xqc9Sxu0TC5szWAIco/IR5pVZC472UtCAphkZt oINKS90KOwyDy/WPJrCE2oWDVDvqjVXSqRJcVAZP0rwFAdfB0rpuXMcHwacWYxHeKLTr ZyMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787739720; x=1788344520; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=9iZ9pKopk4L7oAcIHq+UKI461gaq/BVhdXcIs0vKk0Q=; b=bm17nnIWKxZ0CLzEHQt9uyf1SQyfBXn+UGNhMVkx/UDCAnmJdpe+YMAN25Cj/wIyJw SyXu0ZKtlS/Im1SL2WB6qsigRQIjo/SJ4NhRR0PR2k+dq17tLaUIg9y0tWEjUl8Jv6eZ 1ZJNke8alen/4y63TqL74WKibJxZyIgqc27u5kZo75MGS293szZbWiXKNTiAmHsVnVsJ Fbdn464QZ3wODbpI3omzp6mSrBdD1y31lR+/pL9x80fBEu6bIa7AyNyqmvRz9MyyR2bT S0+p1GTuG2H12JaOz+QNC3XrTWoujptHRaBG8VyjDQuLqzxM42ZazRrcjRkcDfS3HvD7 /X4Q== X-Forwarded-Encrypted: i=1; AHgh+RrB7E3LaMbTcO9PyaZXLiqjk7A/Dc83oVBCoaMWwFEbU+R0xUXY8mLH9K04ehaVoSxxPaaRjOJfGQ+E7nE=@vger.kernel.org X-Gm-Message-State: AFuF++lnzcskHuifvNeyCQh2BHpdqJJ88jXKOBtf2rFT2SdXl2IFOfCY 5ee32ghmoKlSm2wp+yQaaJWIFsJFqcARvRZ27Szb/o6L9DytbEzL6Via+Zbj/fMNQAqWbYvlj0+ OExZz4lowDzh9ZtwGBWVSXjOKs2LxOarPs3igYZTTF6nP7n+a1FSoac8NkT9tNmfaj30= X-Gm-Gg: AR+sD10aXiFcnwGVgLs4rAthInlOf/E2uaZWLso1kZyVXmoyd7Q1+vcXHd+yIa7NRlr U5Q4uJIrVwJRuHNhlq3Q8jb5Aqs0QsfCJbwcSaVCSvorL+esVK01qq5j4A9FUV6D/Nd35YYQkXA pn4P99h7MVLyRre/P+kpMoOupNJlGCkhuhk/1WBxlWYDyQoB9ZGjfazIAejinHRSCPUASz3GDHZ iK0wpUhyJHxI2goHFAQOGLlvVvu/QweXUEiVDIk/SNQaVHKQcVZchpPoNsaAfMoZnchjQqEyiG+ OOtLJjjjrBVba4uyERwLAUH9WNPgRcYwopwSOs8oVRGO/75781VYJxIXbUcRUJW8bKbLaYOLE0U lWm6OZm5CUaN/lpxAVqOq2us= X-Received: by 2002:a05:622a:1903:b0:528:3882:3869 with SMTP id d75a77b69052e-52e4228dd23mr55045551cf.13.1787739719824; Wed, 26 Aug 2026 03:21:59 -0700 (PDT) X-Received: by 2002:a05:622a:1903:b0:528:3882:3869 with SMTP id d75a77b69052e-52e4228dd23mr55041891cf.13.1787739714627; Wed, 26 Aug 2026 03:21:54 -0700 (PDT) Received: from [127.0.1.1] ([178.197.219.214]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c250a9b106dsm479830766b.43.2026.08.26.03.21.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 03:21:53 -0700 (PDT) From: Krzysztof Kozlowski Date: Wed, 26 Aug 2026 12:21:31 +0200 Subject: [PATCH v5 10/10] MAINTAINERS: dt-bindings: Include dt-check-style in DT binding entry Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260826-n-dts-style-checker-continued-v5-10-fdd16ca6e771@oss.qualcomm.com> References: <20260826-n-dts-style-checker-continued-v5-0-fdd16ca6e771@oss.qualcomm.com> In-Reply-To: <20260826-n-dts-style-checker-continued-v5-0-fdd16ca6e771@oss.qualcomm.com> To: Rob Herring , Saravana Kannan , Krzysztof Kozlowski , Conor Dooley Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=825; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=dKa0bkhQNHGF3ECM0RaphHFXMQfLxiwcJfDby9lcfX4=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqjr4tGyf6J2cmg24IXvLqA+NDv+ezXqqJssZ17 xt9mHI3MlKJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCao6+LQAKCRDBN2bmhouD 1+5aD/952Umo3mfY112dTg11VDIbpOOAwB1DGlweDvsC6hHg8DJaPqJnP0wzTun3WkkWVoVFqXf y0VjxWPjsoIkdE5XAXRI2rvnlISPYDhjihL30h1YK+br9N/V3UaWMVOw4oZS8B0/lj3g8ONQCea S5ha3MTErO/g7siydY21EMksmTGeGsHy4XktQjR8iQ6WACxabOeFLCTRSl9Nzeu8FB8BNOHWMs2 wnpFdWHZpXE8leIUbb2DN5tpFc+P4lblfrkLrHi1cqYEFxQ7VUnLETY0Wa+ZUrBc0uA+uSaTOaU LQJHz3aBzagLz+R4IxJe1h1DBkL2tfLYM8w9GNDuOEy+29k3a2QHeW+Uk20wqKd/VeLdRKtc5eY LXxQFnGNDRImqTAn3FoZ77r2T6vjoTmjN1KfyRdu+YrR724MPyyLuYHNX5T37fiMuK+23AoJgJy 3He1lrXIw8bn7QOIUYwf2rRq1gzTjRNj8SKc8mJA4+kxnmW/qzL6/fZTgcNZCKli8EQdW4ZMzYo 9ZJ0ftwScVh2r+J9DREYtsfxJkMY8H70RsgKGsYsyiw6Px7YFQvDZQ5uKl2scCSQAqG3pAbOaHW N2r4j63J7abqYirtYdDCFXV+wynYpstAe1Po8+tqfzoO5m1FIv6R4n/KJEWh6RC7rm1WAVBSEKs Ip2p/tK/pO/bToA== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Authority-Analysis: v=2.4 cv=MqZiLWae c=1 sm=1 tr=0 ts=6a8ebe48 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=+bKQE0WJfmhK2875HamI0Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=hdCJvu6vi-O6ykQZt0QA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-ORIG-GUID: n_jB7q2B5wWFTc4qGyrf8oEQd3dyqK1k X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDA4NiBTYWx0ZWRfXwQ/RQYjKgBUR NU33CX0gh4pMGgXPWC5edjb2ce+s50SKQXXrja3YYMLo6Fk5wmtTduXvtI1pastc7/zgzJoD4Gv IJcdVkfHkxWGNKwD9/j3sx0DUNm9BxSM36tXhXRlyAfakvxPAFER22tJDjK+MkDB1KZjWvo3ca9 03o4GMBGDTBIQpdzElPx66uzt3VSh/KMDWsbPiSzqf94nd5CqYKFG7Z4tW9iKE04VQhIi+GMrfH DDrsSj6O5w0KQec9/h1ue+zAKUzoO/D7DonR26h5+/Rn7umbS0noVL/rj5g/55CitGl/W1iDBFp YUudGvs+t5HyOy2pfTmP3/jbJCaDxJTxl1IcDl4S4QtIUkVvBeQlD8AN96euhhJehPQMYrrurZz oLNy4+ffpxsrmJpSpaUK+Y+J6ar15s56qS0NVN2ZXanFEO+xJpdUlApflqdziZdTHXpYK5M3nsX pDYk+2uMTIXWbuPFpyw== X-Proofpoint-GUID: n_jB7q2B5wWFTc4qGyrf8oEQd3dyqK1k X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDA4NiBTYWx0ZWRfX30XMUAx+DVOu cWtW/rdSTdrunoj5y+/OkPiqNCJIAQQRXM+0+kSmSFIu1qgjrnJd2p9HDpP+lV2ABtJhFiT28GS 6B7pNGt6DF6eaSBKCqXXNu2GgBM+EnY= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-26_03,2026-08-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 impostorscore=0 suspectscore=0 malwarescore=0 bulkscore=0 adultscore=0 clxscore=1015 phishscore=0 lowpriorityscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608260086 The dt-check-style tool is in interest of Devicetree bindings maintainers, not only the driver OF-core (where it is covered through "F: scripts/dtc/"), because it covers the DTS and the bindings. Add it to the DT bindings maintainers entry. Signed-off-by: Krzysztof Kozlowski --- MAINTAINERS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index fe10d29b7657..59ec34fc9682 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -20488,6 +20488,8 @@ F: Documentation/devicetree/ F: Documentation/process/maintainer-devicetree.rst F: arch/*/boot/dts/ F: include/dt-bindings/ +F: scripts/dtc/dt-check-style +F: scripts/dtc/dt-style-selftest/ =20 OPENCOMPUTE PTP CLOCK DRIVER M: Vadim Fedorenko --=20 2.53.0