From nobody Mon Sep 28 05:45:46 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 0FEDA379EE7 for ; Wed, 26 Aug 2026 07:06:17 +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=1787727980; cv=none; b=cmf6Q9Qm87DI6d6NRhFFHFMjIHrD0M8xf0MFvWQMDyvY+itrwC+VnI7czDOf4+xdkvx8WwMbPSPpxu2scvtadaLeMnuHZbpjQJw7s/6thp2I0SKLUt4+vG1zZYaDTBYewmHxLEW9qqR2puoGdWqhxg4vodhQH3OGeWF1/AIu9fc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787727980; 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=acnqeI4Kr2rvyYNNg6yVErEIuRVHSuCIBykiQvhew/uS+MTnYrGUvyxRJXu7wjT3uzB8uIj3cd4bel3LDH9bYC3wP5XDg1qZwEDdreBdsKAH69tbWeX3rzMQIugqzkvqShb9lV6u9NVZIfd42A4Tk/VNDimIfIzOiwvN6cvH7Fk= 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=oFIMXs5N; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=PYwPVrh5; 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="oFIMXs5N"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="PYwPVrh5" 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 67Q6RcQX3794497 for ; Wed, 26 Aug 2026 07:06:17 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=oFIMXs5Ne0V5vFSp O/5JM/QKki25hld4nD3C5zZfV0TdQRp5oTFHE7LV/ALOGp+vRSe9nUobSTqntLCn lw7myg0kXF2cfaBMVwi5nOyilRn/Nyb7m4sB0/CpMXhjoyUn52OHlog1iYOSWMoN gvffisQiwkTCXHLac5IVixYYPSeRpaAdiDuYWDt4IQlwCtsNFviCrkP+v8Mvnfpe 1YWD2GdTW8cgUHPS1WYPA4VQ8egHdfN7ylWPW9XlbmY0y6kFGsvVIGJyYsSgitSC AEqBDsUDJLNdPjqzq3cyifb3y9LTK/fC3WcayGfL9tkLjUJ5//9axJjP10nt0CA1 dprwOA== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g9smx8fja-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 07:06:17 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-92e53b8a302so54246185a.1 for ; Wed, 26 Aug 2026 00:06:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787727976; x=1788332776; 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=PYwPVrh5uxJr0ITD9JDDpWGOIlXQzO3j3JrKY9b6OL5ee6UibwD1nrBVHBB3FYo9wV HQ485tUBKZK8rl95+45jHjIRzRBsQX27OPHm03hqEdPFIvNFstCcPZdpjH42cgpEux0p o4Gc5othYbCVr/NJt0V9Nai6M9NBJyH/qinirvfHqnGEgkdZ7GXINkjlnAdaNXVUCZZC yzUD9cQDaUw+th3cUPGoqnuMCzyTR5NywrDb2PObZhnve987rBKw87Akeu99KqEev+fd AckkG6rDnGGcW/90oyzNrFR91RZbL0Efp71Tu/X12NQnMwo8v3GIniwOKlUfkmaBCurA QFTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787727976; x=1788332776; 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=MGjZhrkIZsJLodridvza5pHj1/jYpp7b7f7SWCzXWKXp8+5EQO6xZiYa/E9+t6euEL mwNUSoX+0HR6Qj/VPW39xBX6RWbaM9jbLl2pWELf3dxoXr4+od3sMDkWj6CV6bPhrQHE kceZv1DAGLXajoR1Zjg+tLfCfkMzS+xe61gKwW+b82Cy1hw3EhMI0js75DfGGNRvD/vL KvIPbOBgyioOPN1JN7BD0f9O6oX+v8d8Uuh8WfDKuO3K5iF/IL7orW2OXMWkpyRyk2Qu 3Izpql7kJJjsZSKHGU7/ypl3cFFCRha3PCHEJgpF1U0ZclHBHBRo7jq1sJMEAImz6L7h mHLA== X-Forwarded-Encrypted: i=1; AHgh+Ro0ZF6yyHbnR11aspqfnbJkRw0/+u8dLGCjEMNqQPVeHOELhHORgigO5YuGOfXWuR8d/mDy8nYKOsPgl4Q=@vger.kernel.org X-Gm-Message-State: AFuF++kEoJrCb91TPPVvbsmaiBcbZKEqa6b5KD1Yp2nIi+I5z9tch4AM 4zYtf6tX354AkCY2uKfAFsqhFlobUfpmAQrOTkdsgFE23p22lH1pn2YG8VZAFT1I8XMI2ekldHv uC7q5YxTG+kqsYrW2kAehB+SLrUV8c3c4IMGJ8D4kmipX5DfkcU6f+yWS3B1Hp9YyY1/V3PvCM3 Y= X-Gm-Gg: AR+sD11Xk3wvEMAMRHs+K2fKcMBaqWcJ7qNGvEVc0IGoIaa8HjvltV06yFNNJDse4pN nrzQadRIc8RUtS3OGJg1NQzoDA2BMTNuLWPvVViwaNtn+l9qmzO5yzb+eed8x2ElTSDes4AHmA9 p1bT3RtWDKsapHxnqoVwQTwH3c/QRY9gIn6EAEsRPow7TjAdD0qygXamjC4YbjeeSDoAuS7x9Pt +S0VEjE45lhhulYBO1DnLvkZiPQTmdLaGUnI6mBe4RMrSsXPm88Gam8yIUz7G9buLhsREZCfLSg GUvrrOFgpvg+1Z8LLXciBvazRD4mrEoizQoB6XoDHddGRVw3Y1m6Xa1R4k1q9JvPH2SL6VG3hkR 0sp958WzLO9fM+JvMRzKVWQ4= X-Received: by 2002:a05:622a:4d94:b0:52e:2d19:b665 with SMTP id d75a77b69052e-52e422b33c5mr50008261cf.15.1787727975618; Wed, 26 Aug 2026 00:06:15 -0700 (PDT) X-Received: by 2002:a05:622a:4d94:b0:52e:2d19:b665 with SMTP id d75a77b69052e-52e422b33c5mr50007641cf.15.1787727975120; Wed, 26 Aug 2026 00:06:15 -0700 (PDT) Received: from [127.0.1.1] ([178.197.219.214]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c250a88ab82sm366812966b.31.2026.08.26.00.06.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 00:06:13 -0700 (PDT) From: Krzysztof Kozlowski Date: Wed, 26 Aug 2026 09:05:54 +0200 Subject: [PATCH v4 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-v4-1-022e60091965@oss.qualcomm.com> References: <20260826-n-dts-style-checker-continued-v4-0-022e60091965@oss.qualcomm.com> In-Reply-To: <20260826-n-dts-style-checker-continued-v4-0-022e60091965@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/ZANAwAKAcE3ZuaGi4PXAcsmYgBqjpBZe+N2MopBa7iBepqv9mLYK4nGBTmPsXkc7 uJgjcTYXf+JAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCao6QWQAKCRDBN2bmhouD 14BOD/9k820jm1urQ+gwbO+XEKSJz6lEM3+IpKf5Zgg+WgHg/AKs0Gd2QWz+8iXA3b2YeqsKiOl oU8d0OHvKAjzO+6kSElCiJlsuLkBk/zI3cDNDXwvreOv76+cFHb+N//DQkuW6GyjUaYzN7utPGy YQ8teK2EsItFEJDG/9FiBiAg4H2FhGRFAsfaeOsfv08q1VnM9+8zPf8KHNIIr3n3vjnxAJ8/JUI JCVmSskG1RHU0QU7aY4ev6BeCrorAym1fpn8G6v5zppIwPLlG2GwVnULpGTsPO6Yj1COaIVQRr7 1CYIUlFXAwnuRiWTn2ZxW8z6cUnrBFyVK6Aq9BUKKrXUOKeCiKWxJ+2KDbP4dAko9J1O8bXTY26 JhI8KeOJkY5FFkUyGo25vZD19Jy493JaOvcvlxyYc2ol54nSWQsAFHaxQ5MKfLZ4Sm4d8A66lAt 738xgmLdhuYHtgw88VlJz5BcKo6U9oaRBEwwLERqJR4D9EP+t2X9zWP4mm88KJWOP4W9bVTGaaM Zq44TrwzfQKOtkS7iD/zi7UwpKy9iuK7bSi7qbEMUnI6bJXdrhPZW3uSXnfCNRW2Vlp4WTL991A uqbVZjWKWFsb3JghCLsZlrqjM1u5rNDdWOnftz/jWePAwUkikLeHpy0i1Nl06YaDEqKLtiQ6344 38Uye55Cmiwl28w== 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=6a8e9069 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==: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=DEs8lHOyw9br0RGUMqIA:9 a=CL4GF0xxeNQD7lhm:21 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-GUID: On6IZIDFmOmlqJ2TVltsG9Wo9cprJykH X-Proofpoint-ORIG-GUID: On6IZIDFmOmlqJ2TVltsG9Wo9cprJykH X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDA1OCBTYWx0ZWRfX3PRAZpdgC//P U1aBgrcYK2KSVkjOLptBZ6PHXN0/RzU0QI4Km4ch7jeu1VdAMTqnBhH6lBTQEpjlyH/7jfklMC4 aGayA1XrPDHZcWgwHvPB/wLc9tnav+rhB3Butr+HA1VaYKR4EmjXoivUub+3FmcYjzAepsgZw54 /cfSaFmv73MHgXS9ryjtBvnso6FfJofsJ9G94W2zKIChyjdOd7YeaTGLPNNV/9sA46rYExIleR7 Uc/6lTkVQ34HxEX5vmrguS0mxPPAltZxlKH0DpIvzU3qtVkCa6fttxjPJfOI+myPgiYLzOie/3h LJye1BaQXkpXMN1sIy6LsklXTfmMD3rAHr81iFssizqEgYmxUP4NulLbIZBt4B8O2ZnvXaId+Ch phy54mkCIm5ZP1gKkbrziKnpJqTpJWQt0PEN+ChLKfvG+Yd4H6B+Q2eZWM8FXrW6TitnIAAc//i WCkKdI9ceUys8iIWFXw== X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDA1OCBTYWx0ZWRfX7zHg+yfxbdot ggTPnDyVGS7RghDboWIcBqeHlt1WepHHAXMbPLkpGtB8W3HiaPIrTDpElQHbMeR9X1DrqeamRLg XCHHXMItifGC5t0iZHK0NLlrpXt6vGM= 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_02,2026-08-24_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-2608260058 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 05:45:46 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 8D4DC37A4AF for ; Wed, 26 Aug 2026 07:06:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787727981; cv=none; b=MPf+8ZZHUEk1ZaEuq02kuTqtzVtjMaLnJt9J3mft3VYGycNi2ITH1LivZmW+cPM+151mIhArlILQQXVZUItTJgcqTf1M8vyS7SY7WaqGNZtlEwFIBfYIweIh1KtUrkInZCtWWV8EGAG0KIf+pdSAJUfJvzj6Ugs6s26RKs8i4cM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787727981; c=relaxed/simple; bh=IlBZ7/A+6aQ52Cw6c4QTonWglV2MNSvQc7eWi9Z8zUs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rSUS1UP0XN/kuBrWdfvQUB0zKVjbyJYQrI0WTv6OZA9vy2nTXvuS4bZCUETFRym28oBbRKtassAbk88szOQBJQtEMou2nZodLVjrLGVupJ9SPswNPCQo9mFjjxAVjOm/TeabLdrlxzpHPiHrsAY5fQPoCRO1Jz2OWVoGHe5pA8Y= 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=LQV/KriW; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=V8qqlNQz; arc=none smtp.client-ip=205.220.180.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="LQV/KriW"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="V8qqlNQz" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67Q6RvPm451460 for ; Wed, 26 Aug 2026 07:06:18 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=LQV/KriWQlgAOSh3 hnNAS4yCcu9BSCHlQNFMBiMxMGC/hceWpnvgDIZUWKhsY5Al5Y8njk9zjoQOHjWX qDkda8AKTqjKazsIdldZ9izu6KYQMMHMBL/4p8TX72bep85WdAHWM6cqE3Lp4/YU 0vLbgJHP7U1HfgLieTiXk7aRkJ+UFzcds2IZSYUE63CkFQ5rWiTQzX6WuplqKWNd IgRANkO/8R8cTh3gbUmMnEEeFx72mh4zOI89YyxthnhJsyWR0hEaTheE1X96cijY c+rhK1bbQfI/8Uz4wp3hPgot1wwRk636T4OvPjYU5kT2A+cMo9eOrfGWnJR2NxOx 37Mc5Q== 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 4g9r1ggtcj-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 07:06:18 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-52d28f8737eso11746331cf.2 for ; Wed, 26 Aug 2026 00:06:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787727978; x=1788332778; 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=V8qqlNQzggq74TN1zWioBwZKhlBrpnK8zonZ95S/hugC1FNMbetkZnpQsL8bOc6pv/ BfCloAkWXKvcnTIQ4gmgmdrJ8kg6nNLMkBu18j6JzuslepwxAYRMeDUliu214o8w+Vb0 utEJAUHws5meXCbLl/tT2qDWIMWOaF944DpFSNgdqdzqmkdpFlS+Ly6QlZ+nIN/0ISBp f7uJhib+tQSsZ5/3QPkCQc9cnWe6Qm8P50HBGEa4AhEu4bpXZ3n1aQSkXywiRl26CphQ u48qfDXGJXZJqu+M2+Fik72AGY1hIGf55yrV7lUIWInan3CJZBDDqGM7jGGiBFzxbtwV 3WNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787727978; x=1788332778; 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=IPYjioFQXyxKSCQT8r52jLJ3a56M8/9+J5GLh9oUqw0sUIwHceDe/I6wyLpHjZYrlN kCkT8fTQp/lH/rfPsIq5/zXVXqTFmv14kjL9K1GHgA1D8K0AAqkBla8n6HOEZGa7ko3u d9tglQ1uiUjWro4MnSmwJ8r2kwtVB2XoynjLCxnUES6gc9nzDtXXo5VQwwgF174wMUo9 VxsLyQf3HO2Rs2QqaIfiYai3cJg9zCB3uUVK95V6KrlycwekdD1Og5unUY+cNW9eCMXx VMadNA0OW43f8UbmqEeI691rnvypWCEhTT7WxqkIcCK1aOejaZdI3C0Mr5LdYA986GZI V+xw== X-Forwarded-Encrypted: i=1; AHgh+Rp4BSRO6jj+sRJ0A1YkMa0kUIXlsPMA/6q70lVvA9KrFXeRDUUyUgQ3O5zBOjI4DtPtRgLri28MyalLbiw=@vger.kernel.org X-Gm-Message-State: AFuF++kKHD7bsKd2lFjmmNfvdZjnLZeSIkB+rHUXmxoB58GlO/HZZOra aV7Rv1EjOKQZk1yc0chaJ7wwRBTdS/3vuFg6Rk6VOPTHwciA7q8zUD7TFiFWzQe0i8RikvoUFFf L900/HvcnO80cfHPGxyUfgBDxon9IYGSNb9uR2ak/mRw6rLzPfNtCLSsUwNp8gw+oFQE= X-Gm-Gg: AR+sD11pEHPyeUHTD/kbtaoiK+yik3ik+0pBktH9NwIxVyNUK7M4Rdjd5Bx/dxuylSr M/z0pt5HX13o/A4E7bEMDhS3GcG6M88EusTXdMvif5vcTivzlQZnQyGNJPWqdilmcngn6Q4GDED maUoRB7PoRtz2UQHMGNk5iwhpwgN244g+APFFQ83uY92iq0pY21oAcsUT5o4GsT2xq8/t6Tj3hf nMguPZJfKv/Hzii+ZBaB3UATce0Wym19TeHK9aRAMIk9uP64JkhxkLEpaL/w0BZeNxScd0WQ1K7 xM8m2qK/KK/AqHzR2WyBTVxBQm1GoIbbsZ4uHddnsFIZYDer4A/ylieGUDEUX2Axw/jNlddnsTa xdLx82jeIs13lgkck9p12Mgc= X-Received: by 2002:a05:622a:408c:b0:52e:3a51:6fd2 with SMTP id d75a77b69052e-52e424270c9mr49782441cf.31.1787727977722; Wed, 26 Aug 2026 00:06:17 -0700 (PDT) X-Received: by 2002:a05:622a:408c:b0:52e:3a51:6fd2 with SMTP id d75a77b69052e-52e424270c9mr49782101cf.31.1787727977332; Wed, 26 Aug 2026 00:06:17 -0700 (PDT) Received: from [127.0.1.1] ([178.197.219.214]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c250a88ab82sm366812966b.31.2026.08.26.00.06.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 00:06:16 -0700 (PDT) From: Krzysztof Kozlowski Date: Wed, 26 Aug 2026 09:05:55 +0200 Subject: [PATCH v4 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-v4-2-022e60091965@oss.qualcomm.com> References: <20260826-n-dts-style-checker-continued-v4-0-022e60091965@oss.qualcomm.com> In-Reply-To: <20260826-n-dts-style-checker-continued-v4-0-022e60091965@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/ZANAwAKAcE3ZuaGi4PXAcsmYgBqjpBa2+W0Np18BaJchJxyG+rKdaShNWd+HuE4U 3Na5OocBYKJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCao6QWgAKCRDBN2bmhouD 12ZWEACEhwfcHgJrckY6VY+Z1Ky3aY0//hLKN6VpvO37Wu5sF1QnGHcd1srrj73om1SYqkGih5G a4kJKj9SurFBjZWxcl3fa6nQrWVlY2hkhqPlQQFAM96cL6ehnzpdGrO5SoXicFt+xYnzF8KuSIM yh1H8N2WyDbJzB/a6io1QAqBsDFufVlTXjHsEL3isU0NkCMctKHVPAbEu5+uJ5TzB2EgtTkxbBg wTsgqF+lIN9yDH+YI79gw28BFgTjyfUzLSTo0JHYI04uk3sZOcsbNZgs3Eahl1E8NZydUKcsGhV 6jhUVO8fVg9tf2aGleAueRzPZBisz8Y4skXLk3aKzUzMo8DZqT/x1LvNOIZpnY7Bl70b6WytKYl 90Btwa/YjqWkR2MZwRuZqW4/qayepoLOVJnXfzgff3OmppCWdHIXd8JR2+mazWTvr1ll+H6XBJ3 /O/OiTlM+uzZkaWa15iJ8MrKX4uU4zcWQI2sEIeswgFyEmBQ1jwzBI46HTdQfjKbIMaUnw4PaBF vT0dK0vKxjmSOS4+vG9yO9Mz2h5sVP1qOObAepped0IH4pCqdza68pyppw5N0qlI8Xeh4kX6+Qf 6hVnqX9LWCmsP6D3vMqxXohfc3ovzVskoJtp+usFArL1WKF4o5BRb69JM7RZZGbKGukq18wdCzJ Mu17HRHTseogZ4w== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-GUID: -wrGX4vbn0TzeTtfmj9ckqHrI2rIWz4S X-Authority-Analysis: v=2.4 cv=FPMrAeos c=1 sm=1 tr=0 ts=6a8e906a 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=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=gm1a3DUOUa9zjCqAlRYA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDA1NyBTYWx0ZWRfX2i9i5srm+kVo DlzSFbQCF06ozpOO+gg5w/e2RrJ+WeZoz5SpFaDQh/BJ8n3YO/9V/9b/C+hlVrfW61+PqoWJ76+ rnM8P8G8Ky4SgW8QrphqhsXQXuQN5Uo= X-Proofpoint-ORIG-GUID: -wrGX4vbn0TzeTtfmj9ckqHrI2rIWz4S X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDA1NyBTYWx0ZWRfX9QYLwiHGgqvo 12N1ZUC2Ix5wtIwJaej9j7Zsj+W3+8fvpNbliV9Wjg7X+6vPhWeikeZ4k0MSCuRemLKh1MtMA97 JhSvYCqiEsGwTlQwsD7FguSeoAGMOgnfP8jsfJpdCEfg+X3R++sOpG7/SxI/ZsDplF4hyBLnwn0 Vv0embC+Gg/OPeVcxpa2qUQgN7W5QQzeNk7W/Is6k7gRBUPUSIzlLPdQ0SbXuY8tVLb+J7qLVxv n4XbswCetOHaR1lM8wLUqDoBmehT2+hebTFF5CxAfqJ28Ym7dTIB3GSj+XQmOdjIA0wQN1g4b9M x4Ya+03c18cw4IbCu/Lm9PjeHE9zQfpeFn6xPMiQkGzHDymmA5+UnF4fEz9d0nMSFUhg+PdEG8R Vzq0FRmmAdo4RHMVMv6Zh9I9thnw5uMjExGVMJfCrwNrCnwrWdLu13KoeIYijBXyxmF+KAiWcHZ VawuvQyPzLtmXTfc1Bw== 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_02,2026-08-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 malwarescore=0 priorityscore=1501 clxscore=1015 lowpriorityscore=0 suspectscore=0 adultscore=0 spamscore=0 phishscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608260057 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 05:45:46 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 A09E13803C6 for ; Wed, 26 Aug 2026 07:06:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787727986; cv=none; b=MviCAGSHlksusrPNDflufOi3qbMgiEcxPou8XrjDKMoZVZH2nYKPv6imHx1LweYDxFQVswrMzT/GhdgOFEvwFZebJk+kZeP0fMbBKxOueYOLVq2F94KDk2+kuS4LXcwa0blvpq+Erohp9Lb5NEtv73KllM5LyZoOOrV70qzPgbc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787727986; c=relaxed/simple; bh=gkQBOWvqKXEAALCJMdR1ZeGPxX1TspV0C1QzCvNDdVQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=MOEyEeD186F1zrlD8Rh8ZxW1G4mUbTj4G4AbLMWeWgHLxRFMTlXTKXHnP7bNZwGBpyvpNG8K3RE01QS7S3HIj6QnncnI2oljBd1kLewZcN7lvgFgfnWm0xmwjw1ex6+xkx5w1An4hjy7UAAdcuPI+U8moYdLDzhbmgBgEt9R5iE= 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=f5bpL2rG; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=WcOHAGQU; arc=none smtp.client-ip=205.220.180.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="f5bpL2rG"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="WcOHAGQU" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67Q6S5LK4189847 for ; Wed, 26 Aug 2026 07:06:21 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= COmDOxR8cLKI2M6JmLNRqnensPRPRk/PTkPg76/Qp5g=; b=f5bpL2rGbII+5nFy EgKebKwDVkXIATbbjc0KSWnFPy6gefjGh7/093L+wsWqKJUw6OWkS+vj4dbIvSxy ASuBIdlInW7gKZmslElEFQTpsPSzwI5tz9IiZjHp+TpH5BxPO9KM8gPKsQ0UJJVQ Jxrh/jiaUNV06vwoabwdELGEBba/sefaaiLXjQjToKvx54UTzya2K/YZcezFGrdM HKPr4rP/Cxkhc5sxfm65HM6lU57mE6vu0KNsVe+IZqKHOmhTq7J5RQJegj93ogo/ aHArHnY3jcsBqubBqE98AYzGcWFF4aUB61UiwLpRXYBAm7a5G1AcoJz90GrtZg2x v7RAxg== 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 4g9cgpueqg-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 07:06:21 +0000 (GMT) Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-90cc2b97f8fso12127356d6.0 for ; Wed, 26 Aug 2026 00:06:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787727981; x=1788332781; 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=COmDOxR8cLKI2M6JmLNRqnensPRPRk/PTkPg76/Qp5g=; b=WcOHAGQUXoznFso/3hE30r0RIPEvwEE4waSxm6M/zVLJJauTGbXPF99/YqnMQO/zj1 siUe5EgnPIOZeGSmHTIIQT9hoTnB6T4JRWVbUBrvjLNoxyPHvW57gQjqsEHEJpyTGRQ4 y0q3fX0G8pAeBI/7y0zfV0LWahpy69Sthw57v5pftwXxtyDlQvWRBiByoIFdEvvJgs3V JNFGTTxUpyxNi1ZybFoo+ueRX3rFe7YCkNFRwQNyMMvsf01pycXEbertJ+X5raATDLpP SxdCfVvRfkiwVy5njKbaHSRIVuga134kcxlJ9YLdzfe26unch9RJx0sSLePxynPu6hY8 kHew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787727981; x=1788332781; 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=COmDOxR8cLKI2M6JmLNRqnensPRPRk/PTkPg76/Qp5g=; b=sjLEji7xhd7p9fbF3hrzgwZgEa2VzoTfWl3hyaieVUMdGcdi+Un9clKmxKo96mepGb wf8sIyNwtt5gG+lafchpBKUbtux57bj9xkXxpl2G9OzgciIbZ3dqm686RDplp64AHB93 mnq91UlYI63VbklRPV2ZRO3N0O7wxMNoIaBNeJEs/ZpITb7xc7wz8WIqdQPPEGoTruUn T7Ji6NOh8EOMAB8xENRQ0+f281fLSBdJT/2kQBzJ/ehTlQf61ItE0evZQcF9x7XLIq6X yao91T1FO0Adi5VksLBqjd+d3dpu8YJlHDY5EzRr6cqZ9YpZkRSENQyuVeg8GBlqYxya IbXA== X-Forwarded-Encrypted: i=1; AHgh+RrKVl48Ddo5hL0wRVrMcXUld2ndzU16ylgnS4HMbNRXcgqQmgNWmsSyCR5uGn8936AfNlnU7yhKBEkDesA=@vger.kernel.org X-Gm-Message-State: AFuF++lFbUT82KRpNyeJLM4GkxvwChnP6I6dMjCIpvd4clWzn69aXKZR mdDzqTOzzWnbbXEjNGNEHnW5Yli0o2k9/11Amt4MkNvjjEXv0FWj/7i+PbPAMHeeXU4IiD6Cc9h 0h8wdoHtlNWCl4oQZn5Kpyb8qeHmekYUii6HVpxmLpi548pjSqOlNmB9w2k3l6ye3xN679jkSdU 4= X-Gm-Gg: AR+sD11jox/WqGSdnVlAcN5BAwL+uLXXYQM7x2+1noiRE7NqTf/3ZwSK7XlRCGpDYYp QTj2STPJEVM2odDYPcP6Z76lTDzqQYOOG5dOIi5E2hB6xDoAYvY+jYM4Wa9F6Wm4QCxd6Q4Wl8h SwhBockETbSMeBx/v0LcYF1EMrQ9QaSeDPG62Xh7I4D4AawJ0elS8sG6G4Lk3/twrUXylQN1MTZ 9IFZUJtGXDZMKYObhUHDL9bOQARacnAaIBiXNVQvB+wZIjyxSnJAjNk97qndGkqwzWiI6gXwBO8 JpKq/XkwIeuh0Uxjplbf9DCpsfJ18SzmGjJM2CyJEpO6K7JDev+sV3GuS9iwdaLR97tJMQD2o65 GrSNH8IurFifhI8ZytipLtzA= X-Received: by 2002:a05:622a:1248:b0:52d:796d:4563 with SMTP id d75a77b69052e-52e4237ac2amr49758011cf.26.1787727980790; Wed, 26 Aug 2026 00:06:20 -0700 (PDT) X-Received: by 2002:a05:622a:1248:b0:52d:796d:4563 with SMTP id d75a77b69052e-52e4237ac2amr49757341cf.26.1787727980024; Wed, 26 Aug 2026 00:06:20 -0700 (PDT) Received: from [127.0.1.1] ([178.197.219.214]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c250a88ab82sm366812966b.31.2026.08.26.00.06.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 00:06:18 -0700 (PDT) From: Krzysztof Kozlowski Date: Wed, 26 Aug 2026 09:05:56 +0200 Subject: [PATCH v4 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-v4-3-022e60091965@oss.qualcomm.com> References: <20260826-n-dts-style-checker-continued-v4-0-022e60091965@oss.qualcomm.com> In-Reply-To: <20260826-n-dts-style-checker-continued-v4-0-022e60091965@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=9209; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=gkQBOWvqKXEAALCJMdR1ZeGPxX1TspV0C1QzCvNDdVQ=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqjpBb2vHm+iCAOn8SADt9FwE6572d671NwHFj1 BA+L26g9tmJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCao6QWwAKCRDBN2bmhouD 14JOD/9n2rTKo/8FDLaltpdgkl6y/Rnk6hB3nTOxp8eswE1ODfoAc5ijx611k74MjYmubcrJ+PO Ss1np9l/v+tRtZ9id0qwBVa1RMOqjvw4BilkRADyQiNlSPhoCnhSxeLUVcbsXbqW8Z/ejj5etET uv72XS4RnOml187jHKO1pKLTKs7+Crg15mrUBcxjJX1I5T2LQS7LDkDdAV59dqVDHLcAm0qSNYa cpUSjqDIBE8zTCAEVAknGfMxcczf2YfxctnjyXG+UfOJMC0skGNFOdrPx3+1uzKHqIvKXEXeF4a tqGEUE3LSRIH92FvqGa1i2922LWf/c6UpoKBQuKJjE86cNG5tANSbz9ymo8pa+cRFBLrWqMjUiQ wMjwXOcaPnTayb7n/TAv6ZGMRdQW2iH/oKeuUwhm+Ie3asEuB1Zq4fSa2nkwBSUEOVUQ7J5/K+v k5VrbrUaHOm/pX1VsMzihYMuN/pUvdUPBWqF2025cR44mxAF5UdoPS7xg3m11nvJCvoH91HwQw9 +iEsR1UFk3+8qF6SM4wEDz5pJa9cXnN1UzUfo1yJpp792fcXL1d9HQd/T8FYm9W6H9+0BsjpxFd YEsLaUijOQS57CHJwELjP7DRcN79pF+wQTMlHuhLuDoKkOArBeu/ZgCcdnW7hNelXsuezCb7AcI YDngShWBUkmEM5w== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-GUID: ThnGexSGEK0Pqwf6CSa2v-RFPyGoUaie X-Proofpoint-ORIG-GUID: ThnGexSGEK0Pqwf6CSa2v-RFPyGoUaie X-Authority-Analysis: v=2.4 cv=I+NVgtgg c=1 sm=1 tr=0 ts=6a8e906d 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=rJkE3RaqiGZ5pbrm-msn:22 a=gEfo2CItAAAA:8 a=EUspDBNiAAAA:8 a=A1X0JdhQAAAA:8 a=JHzK3u4RkIQMqoYOWxQA:9 a=QEXdDO2ut3YA:10 a=1HOtulTD9v-eNWfpl4qZ:22 a=sptkURWiP4Gy88Gu7hUp:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDA1NyBTYWx0ZWRfX+D11O6eI2GF5 qwdf47oOgrpiOskilWR93i1aqXUM/O6XJw28T21JQLLKVBEk4swJ+Aa2caKxz/ioBzX/8Y9MtJ6 8LLrGAue+ldlVUjgRipeIY7FT2l9rc94dDITFVI00kc37jcz7hmYejX8YrZivhEyPnv2QmVa8h9 dI28Z/rqR6O+mtbU8d0iM1eSeJda5RyYs4njXU8ARzMG8OvOGzfKm8xU5ULSJRws02l/nN6L4vN 9soBk0f+CO5mwqnveASjpLMSQcWxmxgzuWPRSXj7IswOC0XxLSRGfppeaTKVpGqGdfdz3YPZLsi JPn0W8AIuDYirO9CVkB7EezOWhAiI+9L8d2cb42hEltd3bKjqJPRg+ZDizjgIgqgzF6VQuJZDjU IsO1j3jCWPPHgxwCe6nIt/Lc64tofSQzSUeUUQLT7AP9RY0yOQ7KkgPdgsknm/+Oobx20cwM854 eeU0kBQM9eWG0ZG7QNg== X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDA1NyBTYWx0ZWRfXzadrodlWajwa oXhB11agewcV4rPJaJvO+0olxj93bRQJSGJmWwrotMKGLZEqEnkKRTx1LcPv8AyYYis1QEWNsS6 2Vlu79MQTYweBRX5JzyUvgiLpt5GvyI= 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_02,2026-08-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 impostorscore=0 bulkscore=0 suspectscore=0 malwarescore=0 priorityscore=1501 lowpriorityscore=0 phishscore=0 adultscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608260057 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 | 27 ++++++++++++------ .../dtc/dt-style-selftest/bad/dts-cont-align.dts | 23 ++++++++++++++++ .../dtc/dt-style-selftest/bad/yaml-cont-align.yaml | 4 ++- .../expected/dts-cont-align.dts.txt | 8 ++++++ .../expected/yaml-cont-align.yaml.txt | 3 +- .../expected/yaml-value-ws-multiline.yaml.txt | 1 + .../dtc/dt-style-selftest/good/dts-cont-align.dts | 11 +++++--- .../dt-style-selftest/good/yaml-cont-align.yaml | 32 ++++++++++++++++++= ++++ 8 files changed, 94 insertions(+), 15 deletions(-) diff --git a/scripts/dtc/dt-check-style b/scripts/dtc/dt-check-style index 833f8a03ddc9..486dd1d6bb9a 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 @@ -940,15 +941,23 @@ def check_continuation_alignment(ctx): continue # First '<' or '"' after '=3D' rest =3D dl.raw[eq + 1:] - m =3D re.search(r'[<"]', rest) + 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(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 +1061,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..2087dac23d96 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/bad/dts-cont-align.dts @@ -0,0 +1,23 @@ +// 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>; + interrupts =3D <1 2 3>, + <4 5 6>, + <7 8 9>; + pinmux =3D <0x01 + 0x02>, + <0x03 + 0x04>; + power-domain-names =3D "foo", + "bar", + "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..d4662acc7b8f 100644 --- a/scripts/dtc/dt-style-selftest/bad/yaml-cont-align.yaml +++ b/scripts/dtc/dt-style-selftest/bad/yaml-cont-align.yaml @@ -26,5 +26,7 @@ examples: foo@1000 { compatible =3D "example,test-cont-align"; reg =3D <0x1000 0x100>, - <0x2000 0x100>; + <0x2000 0x100>, + <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..a4672206859c --- /dev/null +++ b/scripts/dtc/dt-style-selftest/expected/dts-cont-align.dts.txt @@ -0,0 +1,8 @@ +# mode=3Dstrict +bad/dts-cont-align.dts:13: [continuation-alignment] continuation should al= ign to column 30 (to < or ") +bad/dts-cont-align.dts:14: [continuation-alignment] continuation should al= ign to column 30 (to < or ") +bad/dts-cont-align.dts:16: [continuation-alignment] continuation should al= ign to column 27 (to the value under <) +bad/dts-cont-align.dts:17: [continuation-alignment] continuation should al= ign to column 26 (to < or ") +bad/dts-cont-align.dts:18: [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 38 (to < or ") +bad/dts-cont-align.dts:21: [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..1a1c07c09a41 100644 --- a/scripts/dtc/dt-style-selftest/good/dts-cont-align.dts +++ b/scripts/dtc/dt-style-selftest/good/dts-cont-align.dts @@ -18,9 +18,12 @@ interrupt-controller@10000 { interrupts =3D <1 2 3>, <4 5 6>, <7 8 9>; - pinmux =3D < - 0x01 - 0x02 - >; + pinmux =3D <0x01 + 0x02>, + <0x03 + 0x04>; + power-domain-names =3D "foo", + "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 05:45:46 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 6F403382F0C for ; Wed, 26 Aug 2026 07:06:25 +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=1787727987; cv=none; b=DXAnWFLHMKLFCbDQO7r+rBxASGrD0tKhKhaeyHpRChuqv+9+M+yedNc38rRdxAElytNT994CbsC9b88IMuZsv4ml2VGWqwDDt/0ZOteUap+jAdkI0Jd0wsxzWCBj5AZVtvxt7Y0Y5QXe6Ejm5O6+pLuxh4YL4D+WAB19x2qZomE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787727987; c=relaxed/simple; bh=Mw4XHK/Oa8T91FeM/cqkEoaBFhwKmiLgbMkHNgJqgVo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YQeK2FjaqyKoRrv8ytd4CP1AVLEieHolzc737AF4K0rkhOCID1tEMO7osTxtBJdaZ28l91TMMPq9GrSUCWyMHTm/S0lomvTCS4WFKgfz0IKzzSrQTvC/iGYi5qHTMjx82GajaAWB4n9fvstHy3lrxhkbnxZL746Cmx8XnAH3CXM= 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=QDm0X9b3; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Rjz/JO5r; 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="QDm0X9b3"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Rjz/JO5r" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67Q6RfXv3689279 for ; Wed, 26 Aug 2026 07:06:24 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= k+8vOI27ZV6IEvlCRSpFBL4FoDTBUBGz58m5JqF/ZMQ=; b=QDm0X9b30PzlKvGf Vp3pCn2mmFhJy5TTjLhZBpgNJr18AulHm8Uf4ZY+T9E2dhCL9yvQvf7yy0rxV+ry 4lAUVYaeK+Z/6wVi6BDd/yaVWxGPO4+OgyyCIOTn+5fO6wq+wYMBNlQIYqbQztsg Zldr03k1o0Beixq0p1hh0H940V87SiCH8MrXKPvTrnhoeq6nrIlruYP0K1MbI4MJ 5doBFQK6kpfJtw1lVCpWTQ9i5I2op/GYh8GsppgV9K6bpBadeGW5Iif/n/+QQWAB A8+n44U1pvT9+aqLNflcZwvxvMxJr8dcoAiqUZob1sHrGl31zVpN+I0uKzjPnP5T blVxLA== Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g9fjn2k0p-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 07:06:23 +0000 (GMT) Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-8e934385db1so4568326d6.0 for ; Wed, 26 Aug 2026 00:06:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787727983; x=1788332783; 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=k+8vOI27ZV6IEvlCRSpFBL4FoDTBUBGz58m5JqF/ZMQ=; b=Rjz/JO5rMEpfVPV8InS/sEhzvYRMVLjzcT43t73JscEZkSWmCgPqLxbtOc+ETbLpI2 hO7Wt+T0Rx9XhUzGUD9WWOh+tGnx8XWT2sfBTcKfsc5NpKtSroPRcovmNC+OvnDkusw4 GP2igEWJs9JsMfdCxYgNqjaOsSOIuzKxARTrt0fBDRZ7IIuf3QrcDeZbxw2bin+W03XD aFjimapJUGmx3ZmFqmcP/TD3b1drkU5coJnFpe/dZY/uTI0Q/G6w0RH9n3+Xc9FA23JR ZysQ/Y9vTGP0nOcpfTLbRhJHjbOdUn2ecFYlU57LvuxglWkQcUPvTeoQWuhqEi2UV3y9 wrSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787727983; x=1788332783; 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=k+8vOI27ZV6IEvlCRSpFBL4FoDTBUBGz58m5JqF/ZMQ=; b=GlQNmblIQCi91cf1KWLUAlNmYieI3Bb/fQ4OVzmEBP4EvumnOo2IJKkQUhHTeLAzKW xmScrc9Kg997S+eBqvaJghs+NTDb3KWLrhgQRVSIKzvT4f5OUjzLu0WPD/yu949dSHln k+q4EmvgybkqJVC6wggQXsdxJUiqUvhU+IJI3VxUvLpos3DVh01y1+SuNb4EayW9bwHp SwMBZ0oBCbgQ1Ap8bpuonzMCyPcBO5nxFvjfOVHFSvhMRLT4t5RiZyP6/mp1DFAlsp9O Gq6Q5y9Is2T083eV8Y0ShS9L066ha3lcwmOE7eV6zKDoXPeXcDACWoZZMTnFvDrx2ufn 2Sqg== X-Forwarded-Encrypted: i=1; AHgh+RpkAV65SNonpk8nv8KAZZpC9GrpGxji6L8S0M9Niilz+n2m2W2BT9brVd1lEBeM+1JAgqUfR2ILNqo8pag=@vger.kernel.org X-Gm-Message-State: AFuF++nzVUIQD5x5DZ91jNTWn/Y9beKFXh9naWjdWg7rRpvUJUS18wMO vn9dMRSOv1n7S7EQ7BfylXV+x2Ign6MGgR1a+FlObfktJTF/RBxkizKxj+bRT1jNIdxAe1+MBvQ 3b3CbgS7R7nfN74Z0dbzp8sjICbUI+QH4nQCio5SLycB+4X/JYYYeS5Lb2ByVQw+EZ0Y= X-Gm-Gg: AR+sD11m9UhzwVN8kEXCPI9tArYIDdOD3gJ5PfOwQXCdmDHdv1kUTv7crbYLvtUmRhO Hqzt1TsSo4UBjdHlN9o/4rTtXlBhWabcSu/yfiTYZWV463oJPi3FcwMuWFCCOr5nfau/OxbRV+S 2y3xpMzyMLCZpk4AarY2vedQIZGb/tK0gLn8vB+GvWmm0Dkg8cVqCwRfD3jvdSXcfi+JT/MFhoc nAaPilR9+4eQH1VdhxSQesEUs5ub5ruWTJwHLomRpz8u6++2yJZDLoJ3KS9tVHpGq+N+5elvVT8 Cxqp83/IQzkDzQ1lq4gUnZXkd4poxmfgzCxrfBkwb5ZdLaV4BKjxBZiX4ZaH1YlDcFwo37pMoZu Nli2zBJBuudDTBEbiZQOeCMs= X-Received: by 2002:a05:622a:30f:b0:52e:3f51:b791 with SMTP id d75a77b69052e-52e422132d8mr44219651cf.5.1787727982786; Wed, 26 Aug 2026 00:06:22 -0700 (PDT) X-Received: by 2002:a05:622a:30f:b0:52e:3f51:b791 with SMTP id d75a77b69052e-52e422132d8mr44219261cf.5.1787727982392; Wed, 26 Aug 2026 00:06:22 -0700 (PDT) Received: from [127.0.1.1] ([178.197.219.214]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c250a88ab82sm366812966b.31.2026.08.26.00.06.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 00:06:21 -0700 (PDT) From: Krzysztof Kozlowski Date: Wed, 26 Aug 2026 09:05:57 +0200 Subject: [PATCH v4 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-v4-4-022e60091965@oss.qualcomm.com> References: <20260826-n-dts-style-checker-continued-v4-0-022e60091965@oss.qualcomm.com> In-Reply-To: <20260826-n-dts-style-checker-continued-v4-0-022e60091965@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=Mw4XHK/Oa8T91FeM/cqkEoaBFhwKmiLgbMkHNgJqgVo=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqjpBct6FLatngNABGCvSUr1gI9O3M1PsEMHrE+ 6ejmnSKeQKJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCao6QXAAKCRDBN2bmhouD 18j2D/9lyf8WOgUhHR1gGJmWkghgz9Ex3a+Byf2LixGOD/WfhBKVrUETREapb8VDN5FmHes515d 3VhF676ZT8CyLNsKkKRKjoIk8L6FeDB4ddYtjwUii6gEhSKp2ZP5rv3wHiEtE6evBEtpePlBO1w eAlFeyUviPFyv420yjs6EwQ5Ppk6Vb0Z+Mx9TqyUfsQMCPayctg5asIKY1f5RyLgDXmfbtppzI1 6OIQebF9kBsc5gtmMADHYCZoO37SXCSkJfg4n8dd6RJRX4tLcCGU/MYQXBmJCKvibQgwa3WadDg u4X81KZg3Q8jiizX0FbnVYzXGbhyjkQPVR5ZQ6mAbYPehfPZP5w1YtwN3HU5kVZQ1prJp1wRXLW BxfyIsEs+qmcbH1S2tJ+wHoY9fViBH8Ahs+H0yqC7gKeyeHp+jAtuvcFUH8TA5L56HM2h9ysFkY qAf1BMebTi2NuVZYjwyV1jgQWgtRvlEysBICkN01VPkt3YutewLJ7ypaJRjrB9Y5icTPJFtaYSn EvLkREEH/mwVNh8VmHNFqUl+GKi+Gb41Qfz1tpVf1dfTxkpvrFtPh0DhVaRYAnPrntA4hJDyTzr OLFA3aXGcz38GOiYG7rJtdIsgxTQViYD7ephMfD+KJFW2yeCykTWd1C4eVAlhSBpJQHmay0l1NM K2HX1/DwuonQuKA== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-GUID: drkQ4yX8Vx1xYks8weCdnk_HH-ctry8p X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDA1OCBTYWx0ZWRfX5ArFvrrcipgO fWxF1gQt8Qq8rfizCjnPoLPtZy8LNty8ZP9+CIP8U6FIcDMobxYUBRHgOIMVdHAuCtIiQ3MF2Df Gd0mZnHkxKrRCE6uRY+B7+Qg2ejVj3o= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDA1OCBTYWx0ZWRfX9DCuF6YyNw2U c+bonPXhw8TeTtOTpjsMhrSXQ0A9blu6CKZfMIGcu8q0kwJq4kk16VPZbJHoltsyey6KEcA20ns LTECr99O6rJKJWICOAX6yoJNwSkNKt+rnGnB2SHtU3ShRJ6jjl7t489x7wrMDr+D61i17aSxXa7 uZ5gLAMEiAPRTXE9wS2SRWRVtF3Qq+aUjnx74CP4RJABCMJ8lhBlBCn5BdrKB1SacR72wHXbJly ZOlSOrsEdAc6c8RuTzvstDB3+/X5LbWVnnJW4lQ9gGd323UfCh0fhHjeXFbTWouSeJGLeAMMC10 Xo0Z+MoBBvEJpINo9xP7MY7ASVc0nzYQPdHi+qstWwHEjCf0rGNt+TZPEzlM5y56e0DF1x/cu4C RRzmVdDk43nMKE3UveHc9LhOO7pWtobawRt/1WJ8V3oLgpKIExvp0D6zehSUYnkezNZxHVFbN7F O/rWC4ZkjtO5Y092NKQ== X-Authority-Analysis: v=2.4 cv=ccziaHDM c=1 sm=1 tr=0 ts=6a8e906f cx=c_pps a=oc9J++0uMp73DTRD5QyR2A==:117 a=+bKQE0WJfmhK2875HamI0Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=EUspDBNiAAAA:8 a=6JaV1sFd9OF9Hac_-DgA:9 a=QEXdDO2ut3YA:10 a=iYH6xdkBrDN1Jqds4HTS:22 X-Proofpoint-ORIG-GUID: drkQ4yX8Vx1xYks8weCdnk_HH-ctry8p 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_02,2026-08-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 phishscore=0 lowpriorityscore=0 spamscore=0 suspectscore=0 clxscore=1015 malwarescore=0 bulkscore=0 adultscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608260058 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 486dd1d6bb9a..a8a3b6e0f7db 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' @@ -1070,14 +1070,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 @@ -1087,12 +1087,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): @@ -1149,7 +1149,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' @@ -1169,17 +1169,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 05:45:46 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 9033F3806D0 for ; Wed, 26 Aug 2026 07:06:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787727988; cv=none; b=IqEbM+1891ydCkwzsGAMz41jWEimcuwX5jG6m1rtuq/AB0AqpaNuOQfzoInpNWENgVVVMcKT+DJMkK4zkODn8xiBMaobIaUo9eSEAIC8VwJSyzF5ZeHvrwKAxfs5fifGvtZxw8cdM9vQ0vRAOfp/1CUrtmTvqwHT362NMKhjomI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787727988; c=relaxed/simple; bh=CJO/5TjSH1FPZRQjK994oHgMixcpNr+/g85rykgD/Bs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Zaol5AY0IcVpsptFPQDUJRP+RY5UISDw0pizv8bFavtO2Fl4g8NbQn5+DOe2olQgVTOijz6vt+ui9vKyaMuzHjkKoJuGFWyWl/OcI4RcuDzSXo0ghEJAfVjI8G3hJFCZKUBDVzhDsGru6PVRukvY3UfDiq5XI1/9HCI/WHqTYUU= 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=jKuugM5p; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Lfb5APP/; arc=none smtp.client-ip=205.220.180.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="jKuugM5p"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Lfb5APP/" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67Q6S7O64097221 for ; Wed, 26 Aug 2026 07:06:25 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= irz+8vRlMSOrOiiDYL0GKSC5j1v910wn/cL/Cbp8a40=; b=jKuugM5pA5uifeeY HOJzwVTP0IkeuApy3yy9vyykVMdwgp9Qye6mMAU40UK6H1rSiiv3SsgCf37dUzT6 JUwNmYjMc36pHE3zxrMUv9v6ubrGxa75+n8h4haGS1LcTilNSpq9BtLztmQId7Ts ZZmVydzrJp8GZNIVg7F80Uwb+CBtUE3F3qAYq15GIbMT4n9Xwc0fPd4sN0EfcJgS zF/vVc9pSruNkfLNxGdX5HLWHewCEfYV3ThLGcLDEVIADDPhRP435piWtBXuSrYf qThvOpGcgP65VUKOY0IPqZOEO5qAfqLkReQFpSZsayvYB/m5rQEJokVabwwqMYTk k03FGg== 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 4g9fcetkqu-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 07:06:25 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-51c1a9764f0so6402101cf.1 for ; Wed, 26 Aug 2026 00:06:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787727984; x=1788332784; 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=irz+8vRlMSOrOiiDYL0GKSC5j1v910wn/cL/Cbp8a40=; b=Lfb5APP/E8qxkdk9RZPiuHSGibOsuk0+0JwPxD87xq+uUxduZNhJjXX3GT6mMtxVb0 W5d7H+iLPgssFw4jzx+T0sLoVM3ADLtzzVQrVkrHZvr5mFub/qX/yIMDMPUR62kN9eYk mVt/ES6DguyhxcwEEKvbayZ4Fxlqz7dOvTbr6PBtCPNPu7pqBGPm7o+TG5pGGzf5tdpk C0yeQiPGsUJszb+D+X4pIfhlt2nWWbNj5buOWN1bgAlbfcoPbUh3vpsbQpDFT0F31TXc xFN1zGnKPxtsqZHgdBXv2xDKhRdn1xNbKbPtwGX7qiclFGyLSB7uZ4eyf7QNefbn6dZz vYVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787727984; x=1788332784; 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=irz+8vRlMSOrOiiDYL0GKSC5j1v910wn/cL/Cbp8a40=; b=SEzrlUDuPZlXaGrbFb7ZAfrdPQY7yQBF+eY9qYQPMwGC361irsX3Ptcita1oXeQtQF 5SPhTAhKlYV54v0RVNDGIH2nq91WWyOBoahRUn6eJsAAyCisBJhHAgx3+4HK6DFj3cE2 5WGTQKIyTuOkqUHqOXEWdAxzYcNcwZGcEOFgFGMHTAVzGCD/h7Bj7xsFke598Yy95Fx/ 3mDHuYg1bddkdyiDGC4C831J9QjcMN/muiSKe5PlxEShfvSOFh7qw5BvVJonyNEjvjSx zPxipLl0PadBgNRvmx2/oPr7nm8wTSELJmY+BxiqReTvH4XreGWjWhvFzoYBAMVgDpUH pg+g== X-Forwarded-Encrypted: i=1; AHgh+RrUv2ayyQlA0qG7Vh1ci/NU97Bmys9ydrZCE0WxlNQEWWzS5zhfLRRcECxYhSQQih4iKunbeHNi7Ov1f5s=@vger.kernel.org X-Gm-Message-State: AFuF++nYlsI2fCEABbDovAsO8USfCmzp6iGdQReLENj4yRwAEYU+WrCd q7fwtMcbXssm6bd2oBN6GuHHGuuQ1Qv7KkppPQ5VgPv9FXSyhREZJ3NoK8Ntefn8JR4mnt2bybb tF/4WCnAv2vQZzUEb1XN9R0OgXEzpDzkehbbZed6BwqFAYrExB+uFULqGDabEQVAdv78= X-Gm-Gg: AR+sD11zre6Kv+PGY1mfT0xWivvGrhCs7T3G6ys+4Psk/tedxtJDKYdfBILgZUKz4UG F8Fz2vmRH6FC47cTmLJJj6Ts7XDjDQgSVt182KzKuE+MJ00U9oKiFsPNpdCyW0RHXx64kJYIc/8 SX/0eE9EZlemLlqF3J/bN7zgQsZdontiaQd97dRLEFluHhl7hnL961F48/GbWA7taPhVrO5ufZE txOV6g4Dp/isGB02tbAByuylLlU9eHecIk1GZ4QvVDgaBiKBcaN6IuQrpDCkAHTi5JCViWPvVji NNwJLcL8+MQLplnMLnPdqbNJ6LT0lxcct+FjDBa8UlYP706UM3/2k0NXAZHzb6b+yRafbVD5soC 9DlDLqFYwSX95kkyzGEOhv/Y= X-Received: by 2002:ac8:5dc7:0:b0:52d:6c36:db32 with SMTP id d75a77b69052e-52e423f7e4fmr35355131cf.41.1787727984418; Wed, 26 Aug 2026 00:06:24 -0700 (PDT) X-Received: by 2002:ac8:5dc7:0:b0:52d:6c36:db32 with SMTP id d75a77b69052e-52e423f7e4fmr35354701cf.41.1787727983907; Wed, 26 Aug 2026 00:06:23 -0700 (PDT) Received: from [127.0.1.1] ([178.197.219.214]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c250a88ab82sm366812966b.31.2026.08.26.00.06.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 00:06:23 -0700 (PDT) From: Krzysztof Kozlowski Date: Wed, 26 Aug 2026 09:05:58 +0200 Subject: [PATCH v4 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-v4-5-022e60091965@oss.qualcomm.com> References: <20260826-n-dts-style-checker-continued-v4-0-022e60091965@oss.qualcomm.com> In-Reply-To: <20260826-n-dts-style-checker-continued-v4-0-022e60091965@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=CJO/5TjSH1FPZRQjK994oHgMixcpNr+/g85rykgD/Bs=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqjpBd+c/4d6U5/utMaRPgcRM33drTrQjNG1ahG iZxuF+xYYKJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCao6QXQAKCRDBN2bmhouD 1zV3D/9YiCbJJJhl8DvNKkKOA93hHiAoQ/nENhoapOP2A43WVBbwY7X2SwEaYhd7+MHYc44x2vt oWhcQurlYnLYm4lzlyM+bSrzivMU4nknz8C/DHqRw8SthoIK+xfbXXH3r+Wpqq6NgoI98qCPTSF NYj3C2xAzI6a6z6Hikv8QxTEp+ye86xReha0ExZYps8tN9eUe7Wzi0DdiygWPMe0LC3lzGIkgTV lJqsFIEPRh3GPCsqD2p2xC0y++T9h3Lj/DVSNlqzBarAUoftEET1w1abwEzdFK5zmctfc2EVGz6 BGvN1wQiTT78xSPtJxRTjEaLrkDxEsQSrYriLvZBjVA40t6G7IMUnmOc5x+HuRFJYRDvZbCEj+y mGHeWAIRqmxMZHK7aOAsNLYQFfsvNbYoAwex7+sWSK4YikZI96JL67s2a+P7hCPkZJYO+7ZrETK HvIYLUZAVbqRnZW/ulHdYqptwVNom0mauiuZ77+L8j8IbeRXSsMl2nYDjqhAQv1XAa6mynUCP5g SYL76Osuug0bNh9VaMcFakDTbUfRxbghGCAUynn+W1ReeSedL4t2G/alWmOYT2N9TRi9ycMnCuK meXI8nvC6kNtdAu0+KPxI77fiqdLknZTad2DiD1s7ELi9Q29GgJqsCeS8Db963iYe+fP8FcU50t kOpW+AkNWFm0uvQ== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Authority-Analysis: v=2.4 cv=a8AAM0SF c=1 sm=1 tr=0 ts=6a8e9071 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=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=WUDqnpqoxdndseS9DjUA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDA1NyBTYWx0ZWRfX/3BSgynWUIY1 XeWgJ6hVh/2gAUh/AaSALQTTs3cijj6AoP2LpUFWbZqh8JxGUfZGZPe8b9NmmOrm8xM2fg0YNJ+ wz73U6yH0OP4ZApYLzMIxoonU1Rx730= X-Proofpoint-ORIG-GUID: J02ytPWdhtNOhY_B_mpdUDsE33y--xRy X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDA1NyBTYWx0ZWRfX8A9vKpODo1r/ smWM1MX206LVq3HcrcxE2KvYce+UNfLxaE6kneXUTQpGPXEH8R/eheGBS8CQSOg0IJK1JjiE8Q7 KaIDW2+9GxiSqQ6wREGuDgjbP8p+4WYlmC8CfNSvJj9FaHAT1SQkTpptIRkFV7EsP04+6tV9Kh0 YkQwlxMsSQYq34kB3iIrg6YhVGewGpcO9dKEKDyFZZQ8eKqXRnnzDl5f33GlqITb78iwOw4aCV4 ZrVlOzuCoR4MmTIou6Yfokaz+0jpsNMuOpsMrmpo8gzxe1iJmiixVDilNxAoMBBhrX3KNHXFRa1 xn0aJ1ETIKGQETCTNzWALKjY0qZB52gofYRC2PiLqzspJenE6OfzRbnK2/15X8GKj/NOR2clwPl uNhzus/s88j/SpFgkMz5TZlM7CB/ZqTbeSdYyhrxPKJKnSy3GAknhhT6eglC38UjRVq09LrTuV/ d1dVZQ7FlE9j1xtvcWA== X-Proofpoint-GUID: J02ytPWdhtNOhY_B_mpdUDsE33y--xRy 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_02,2026-08-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 bulkscore=0 spamscore=0 lowpriorityscore=0 phishscore=0 adultscore=0 impostorscore=0 clxscore=1015 suspectscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608260057 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 a8a3b6e0f7db..5da3df25c3fc 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 @@ -1059,20 +1061,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]: @@ -1200,7 +1209,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 05:45:46 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 9AADD380FE5 for ; Wed, 26 Aug 2026 07:06:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787727994; cv=none; b=NjpwZmH4V8ZfFRSvPZIaYjaRbj+K5l5De7/xXh+n0cmiGQgRdBCrIPiFAMI5xkMyNJ5rJ0Ow4xCSVkihlPqQYFURiodygWXH/viG3GPEt2JWo3p1jTlFnGtAljvt+MStdlj+W9KInVwbN4cL3dP8pRQDxrX28LHLM9OC03TiAQA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787727994; c=relaxed/simple; bh=WraPvDvGy9Jufn+SaJj9rOm1t1/Kyu0YxlWrUpE8/SU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JjLK07HvOg35GUDQFKTTz7bbjs9Mw6SFsbfzkPzVYfRQHkJEhUVLxXYHX5Ej6xiR7yMZ62yg+KTEnWi4f215zdLgraRx+M8U05+K+6jT+Fo4oC0n5YTWrRoaGBO9/k0fyYA4trr1ndygvsUz4MamaQM/9KcQN9k9phYglTeGz4M= 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=Taysm9hD; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=f+avweMR; arc=none smtp.client-ip=205.220.180.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="Taysm9hD"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="f+avweMR" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67Q6RkuH3783807 for ; Wed, 26 Aug 2026 07:06:27 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= tMLzRjPVGu4PMTor9KIPBTRmzx8WfZ7yvrm4g26Ni+I=; b=Taysm9hDgfZkcwdg bvMG/eEPFlMewlfkQEeaJNWUxVBjru+qR7RtDrbNGzz2ZPuEKepCcv88VWdBE9TX u93al02drXQuvSOs/KzdhvJvQHixx2Jy1g3TvNWELGfnw4xoCpxqrfazBlNKpQ03 GgWETcV332Z3fTUar4SeeuVT03FnDY/AX6FKrhn68KMs5h5wY9Z6wjUa4sqUG7SV MSvI31nE6Jj8d1vmxX6jLmVHiQXYyTYPYHTD/jUXphBuiArVfmaIoMMalK/opMxs TYD5VmDt8stTT1jfqavGfQdFoxUahzghe1QmSLMB9zF+2wausi7/IYPQiutL7oBc mEEFDw== 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 4g9s9g8hp8-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 07:06:27 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-5283df62d68so7578481cf.0 for ; Wed, 26 Aug 2026 00:06:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787727986; x=1788332786; 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=tMLzRjPVGu4PMTor9KIPBTRmzx8WfZ7yvrm4g26Ni+I=; b=f+avweMRchb8mxUCk7d8+RJY8A2liTp89gUkQPKvDhqdVqopHPaWalmHfIYPFGPOBc oz7l2Ux3kdIXdzOSUxm60hc8hh2iUoSDvdlaftPBlfHLNBqDqbIdOjsXijAQ1U4dWagl XUU2hMbjLVeBPBE9PmAfyQF2vpnWuCjjO5XcJJCHp4v2q1ldlHhkgw2CuPHHvcNA6F4Q JqQPQ/9b81or3uSoFk2nzh5WEhjfm4uscG89NV1jCtHvKRmbkHuNqQ+4W0U41KG0K93q vSiNR+sgzjy0xLGXAoXqHrFhkMJQOLQ0ooFp6A5eRDcELaHXPu5Ouyasmpw34sIqgFEw cbgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787727986; x=1788332786; 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=tMLzRjPVGu4PMTor9KIPBTRmzx8WfZ7yvrm4g26Ni+I=; b=h/pR6meu/jwn3PgNtjAgeilr3+qngOcDTLyM/OAoF0wLav5DfW7IBmFzRdlonOwdiX xGSlTKtMfs7ZjpUwcQU2ZqHVsvrFPD4XLBoxkUQxk4iJpWxXjv1zUS705KNuGgNGv3Lp Cvz/yiP38tUZUmVfbxYm3XaBClqIxa45FYeaTK6jP5xfR4w5N7e2yQCnwDtju43Lc/nH n6xmOQTJ5IE93J/RJqETCzFtBn1S77NpoKgYLtWGcFEe6h2fb8cwQrs0q13he38Elg9q f9u5oP1VLg/owlu+RVM0iHBOsRPU718kNuAyc9OJWGTcc3LTXbolCiBmVnMlFmx35eXr Rmaw== X-Forwarded-Encrypted: i=1; AHgh+Rov8TaD5qAzLnG+iCm8I8ipWpUx8KUJ6s0OC2Wz8e0w6dtClFokDI/oVq6t227VAHUDEefVOaZuDfb40AM=@vger.kernel.org X-Gm-Message-State: AFuF++k4PXUzJAn61M5SyFpxZlnCz26iMSpaco1YeVIlPji6+TZ/11LZ 2yricFpncI7xvYZ2l3WzauXMGZCml7adEuywkWgHAn35lCulUHXefZ5tF/ATPr8j5Qs2mbw8co3 n3kZVVODAXOtklFGup1W6Hx9mUTotgXrd8FgnkSKXKXoM+lZ1St2FWy7KFYbTQ6iwMn4= X-Gm-Gg: AR+sD10+Zgu4HOIlViT7ydrfMBNQFqwnNT8b0ykGnkXiUfhfaX4bnZQ595kaH3qf3Vz OQT4Bn9BMOJoUtK38Ld7gePfJCTeRP1ycln9vsKhW2nDgyrhQPf9ATqSoWskU8zjCVbrUKPkHVY 7rz2Zpwc7VHevYcLMNm7u7YIUzVz4YF53rHlnJN2v7WEse/TvOpLkZnDrX39QziK/0BNKbhdOZL nWyAHtqK9ipyxOBXPfRDFJ2ztS8Y2Dm4CMW8LXuaGgZmsnRIiWGGH/Ydx9HFbj8tF+QkkywzvZQ PrIUX50pxttIphzueS8d1CFryfaVPvZNgy1sA25XA+KO4jAhKZykfMP3lYARaTcO253iH0PCp7Y 3E2xVNQkAVPvZNhL3mo5uk6g= X-Received: by 2002:a05:622a:30c:b0:52d:a4e5:6b3c with SMTP id d75a77b69052e-52e42290632mr45389061cf.15.1787727986291; Wed, 26 Aug 2026 00:06:26 -0700 (PDT) X-Received: by 2002:a05:622a:30c:b0:52d:a4e5:6b3c with SMTP id d75a77b69052e-52e42290632mr45388831cf.15.1787727985773; Wed, 26 Aug 2026 00:06:25 -0700 (PDT) Received: from [127.0.1.1] ([178.197.219.214]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c250a88ab82sm366812966b.31.2026.08.26.00.06.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 00:06:24 -0700 (PDT) From: Krzysztof Kozlowski Date: Wed, 26 Aug 2026 09:05:59 +0200 Subject: [PATCH v4 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-v4-6-022e60091965@oss.qualcomm.com> References: <20260826-n-dts-style-checker-continued-v4-0-022e60091965@oss.qualcomm.com> In-Reply-To: <20260826-n-dts-style-checker-continued-v4-0-022e60091965@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=WraPvDvGy9Jufn+SaJj9rOm1t1/Kyu0YxlWrUpE8/SU=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqjpBeYVcLSsQ/DHVo2OomV7xt6AhLoT9tfN6bc 5kPb/aFO96JAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCao6QXgAKCRDBN2bmhouD 1wk0EACatyZEOK+ra3Gq21YMlw7x935mcm8viXWRLNK/YWV6+6TPnMB059yeWZhtMhvViYMOrmQ 0PmHoezmBlZmN7d6ntXJy3I9/2rHf+TTVgL3gE1gsgBfrZJHz1EKMOMzJgkN8V+50CCnv4JDXfG gT5xUcAf2Xwuo50i7lQxu+xUMk5gKJP0/vippj2Fy3n8j3ELfPnSiDC6RizSKn+9ymzYCdrQ4wu 7BztgGFbCL1o4xQI0c8WaCWxzskF65JXTyTBmEJKMiH9e0acCJdoK7fMiWD5dqVC1uL9mx3w20Z iZnKV4tteRQLx5WydmJeYHyBNDJRbh9leMkgIyUsU3TDlxvKwmBQqZqOeoycX+/pUBxblFRB8lP sbC/CCbglE0PcHaJM3TyYqaS/m1CIsodCpKWPkye7FEGX1noDV35UEnukoA6bGtbsEkSH+Hoqxk kguQhWHOiHkEE9eIeJTT16AcjXTFDc5DPrBRdvds947aNmV67udNxlA5MUMqq6ZNTg0izNOP58a D4zlSKC2SMUf4f22O3Qi3NQgxA8/2V/WjCqDuR2NTBjqvGgiS2vxHugQqJ1XpJOMTsINoxRkNCN z9XPSI/xeFSxumFhC6HKuHccH+8XQkwT+ZZit/1YprK9d5Y/0Vz2n8O2EakS+Cycw2ROzkjkzmK jZUWBcGZ8RLfstg== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-GUID: IY9sI4iYw7iUay7-1e5BpQ3o4_xOVq7u X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDA1OCBTYWx0ZWRfX08XH7j6+GVnw f2vQeGs+e6kEiVXWxwzMRIpTZuG8FL0htAZI+rBHZxdpbA9BB8+2qLKzV7/kh6v25/EituWR/pg tn/nVt3i8Pvn0mkt1gp+q199icT3Vjp6TtezvXRAtgeoRZ98nV/slxtYOmGkYuNyNodCapnUh2T kiLaPI12+e9wx9qItRLAgZ8ajY7ob59/9F0esJw39/sq2utDDjp/D0VKJMgwFLf6zDMrqqV2yhZ vZ/7wV3kfhEwLd3LrnIaxQx+cHEk6FxfHviPQlx88AI4qDM8bztUrZ1wW9V5sXhkPAPewaEkG6/ 0t+PlITeRUh6IM8iRnR5BSxIYgAzWyEX61JvrDU+yGCyjSf+C08Rm6Emaykm4539fmJYIMPeFO8 XJcU9Dqq9eUJjCQS6Yst10R7ML1MXVf5knerbFsfwIA3t9kphs+M2sDr5SmoRuYEmRsj7+aG1A8 iDrydDrJ7y3BdplVgpw== X-Authority-Analysis: v=2.4 cv=Xfq5Co55 c=1 sm=1 tr=0 ts=6a8e9073 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=yx91gb_oNiZeI1HMLzn7:22 a=gEfo2CItAAAA:8 a=A1X0JdhQAAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=Lkbq6ki4aylNsx_sLmcA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 a=sptkURWiP4Gy88Gu7hUp:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDA1OCBTYWx0ZWRfX/ic9hw0/LD98 BVUwEhJ4jDmwiSjfKyMxI2UfSRqowYRg5OwyrNL86vApcMcvFuiQeFU6Wxctu/d8cFERSpDaF5d AnslMJyMplYHqH3Y7jiOwFGFY2HT5ms= X-Proofpoint-ORIG-GUID: IY9sI4iYw7iUay7-1e5BpQ3o4_xOVq7u 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_02,2026-08-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 lowpriorityscore=0 phishscore=0 suspectscore=0 priorityscore=1501 bulkscore=0 clxscore=1015 malwarescore=0 adultscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608260058 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 d4662acc7b8f..ebb35deabbd5 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 05:45:46 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 4F4F4382F1A for ; Wed, 26 Aug 2026 07:06:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787727994; cv=none; b=Xjpaej80gd7VtrCYdgCtidLq2YmJlqpKAK3gDwXQFRPxplNjCsGYwYgOB4OCuhXOk4+wL9jo1jva7KDdxUA2w3i8ga6enQCyGFLe9q8D4k6QmXRXF36k+Bf8GViVj1alFbTkxuHOjBkS596tNH5BhvRsvBoj4RPdP5mYyCpCX2Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787727994; c=relaxed/simple; bh=rtP39rCJDQ9qOD7qcfOYSTMsfU4y8Ra9l+LGF0SjZRg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Dab8VQMRQesCMMcsKHai4jPof3x4MihO7hGIafpX+b8m1aJDWvT8A+cu5JZDc6uujMfwmntDZaGIQFvXCekAj9ZChjTJyHKNT1pTTSsiewp9lL6gzsmPBaaJTpe8WI5iY2fgrJ3xu+do8FmXVC48PN/DCzuV7+ZGHQPhWqMYqAA= 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=CO2Ep2SD; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=WVvjJepo; arc=none smtp.client-ip=205.220.180.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="CO2Ep2SD"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="WVvjJepo" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67Q6S7jL4097214 for ; Wed, 26 Aug 2026 07:06:28 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= F6O0f6PGOaf1OINXzeSkWCK1XD8O69YuM1ACsjUOSlQ=; b=CO2Ep2SDo8ZSEGUS Y2IDPtVdfzDN1S15+GctFf5Tt5UjjWHmBl9mIdmdoK2Zq/SF0Gu2rKkplkxbi/EP jocS9ZgaLG20eOYN/CTWgOFtRhPsDekA8Ze51uX6j2diSz0YSOllVGCmZ20+CeZF iyUrk1AZbCJbxZjSMskuzlCn2zvNyZccdrg3c6brkDiswXfgY45h7yqru91WWRNG QQuERAN8STwfWBhPRAPGEzmeSSUDg88sP6J2HBFP7EMNweWTgJoIyGOoOLlr7bZs nP8t8FuYoivoM4fE4aPWDwsKnCNTh/XSLUnawvznDQqbHhDNXuzICdyurzUjZHQj 2rAkXg== 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 4g9fcetkr4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 07:06:28 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-52d7b3b6aa2so3530271cf.1 for ; Wed, 26 Aug 2026 00:06:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787727988; x=1788332788; 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=F6O0f6PGOaf1OINXzeSkWCK1XD8O69YuM1ACsjUOSlQ=; b=WVvjJepoBIMJ8hGGyJGdx6Ea+hWwO+7ZvijoUqDutfqQepVyjgSdjPp1vmHOFEW9oM 3HGDZmvDcI9NUjsnL2RaOTlT0qUughSQ16Fc+Bwd3P5lpgUA7H4qjt+ryzHAfsuhTBdb HfvouUWoto2sGH82fZ5QTH5MDeEVUpy7EtEnZHE6IE+df8Xaj9+rUGWccA6nXCyVPdPP lIOR8W5LodXmXJAUG8tyI93c6DN190EOAUjh/IhiT69JVlwBx4ice8zUR4D9iTe+boVV 2mjNQYOLczjAxzAeUNF3Lvt2oniq33bJ7qJyYcQNvkztsqFsC/R46rW2fBWo4N9MoMJ1 9yyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787727988; x=1788332788; 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=F6O0f6PGOaf1OINXzeSkWCK1XD8O69YuM1ACsjUOSlQ=; b=atBZ4atxENPNUSsjd16AYq1j/UtLMnx7Dcbic0Y6uu3RUuUxiaV95amDc9zzA0YEru AkEYlqrl58jxQ8yGXDNLOl1yRuK9Cs8EyOq8iS9gt9r69Pdc1iZLoIf4i4ocEAXLz15v pC1vkUR4DX+iFiXRXoaukanzHWDcVv0l7E2E+vconmKaT0G2jF7uAL8XXOSwj6mJtW9N UiDzhyk84GzAj99tANGdpy13TY9zQkE3cl5E0rOdmm8yWFlIWDpG1tkYQDCpaGV+jMVO 3mVz3I05TTKfHrVnqsl0OQm3lebrh61yS0Z3Huw521vWZb1m4Kf+jPW+ybps3ubMtcjN sHVg== X-Forwarded-Encrypted: i=1; AHgh+RrDymTUJLDUpx9gNv7D5HgtjGf339WQc0gcHEIqP9rngZN4PhXbHgztTmoihfsWVNv8O7R5S2IZfBzFHx8=@vger.kernel.org X-Gm-Message-State: AFuF++nXH1yeX3sFemTqP57+6GfPZ0sJrDcfWht/t7cpToBQnlLXTQqT oCID+7njcxLXixm1qEoj0FzHtG9Op9wTLehbOm5126WWUUOCfiwZNUdvabELeQjc4m4Lb6luQQ/ uxhdtoEelMUWN26+3Y1DmXSwsT3/Y1H7B/fAQ+kkbHykA4diL3z8q4ZLY8EfQZMjSpJ0= X-Gm-Gg: AR+sD10aBlP6o4yyNumN0UaKRxzcsFCRCa4+iapELZ6pSaMQndrlbEDf+MpBAYvc+7B MLD5M1Lm0fVr0G8LAOYU+47JQ3SNuongPZTUoIjOcYZA1w8roAeoQQcylrP5dh7XFtK6jUxr7lz LuxAT2eu42C4vKuLlz8izA8paNJbMFUI8Mp9yZBt092XLJas48EAD7/F8SFSiUC0o9NlIZdf4S0 sxbS9hzcNVm/YLKeAJnOA8dXiPprsq2R76JPli1oF0QrB31R/st/g5GVRAmEtoPe8z7muM+11rR jf0cqsp/PeVMywI9hPO5PsYgQAlXfSzukrldJ5JGHfSCBMOAORd/vG8mSms2J+S/Js9o7vs6cN4 6DuVh2R1jy41thMulc09M4Qo= X-Received: by 2002:ac8:7d14:0:b0:51c:e14:87a7 with SMTP id d75a77b69052e-52e4234e494mr42423841cf.28.1787727988025; Wed, 26 Aug 2026 00:06:28 -0700 (PDT) X-Received: by 2002:ac8:7d14:0:b0:51c:e14:87a7 with SMTP id d75a77b69052e-52e4234e494mr42423651cf.28.1787727987605; Wed, 26 Aug 2026 00:06:27 -0700 (PDT) Received: from [127.0.1.1] ([178.197.219.214]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c250a88ab82sm366812966b.31.2026.08.26.00.06.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 00:06:26 -0700 (PDT) From: Krzysztof Kozlowski Date: Wed, 26 Aug 2026 09:06:00 +0200 Subject: [PATCH v4 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-v4-7-022e60091965@oss.qualcomm.com> References: <20260826-n-dts-style-checker-continued-v4-0-022e60091965@oss.qualcomm.com> In-Reply-To: <20260826-n-dts-style-checker-continued-v4-0-022e60091965@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=rtP39rCJDQ9qOD7qcfOYSTMsfU4y8Ra9l+LGF0SjZRg=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqjpBe/TmCKhzRtOF5jAXTw6KXmGzmDIRC51yCf HbYgeP43V6JAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCao6QXgAKCRDBN2bmhouD 13IOEACM6bkJignydsi57XVf/ExX+KD3lyQ5uyKh7w06TQrlcvHC9pxOWT9Dz1Z8SYePPkMuiTV kbeC3O/fc3CqOdEwf2CCtZ0tlDNT5EybvkScOqvNJ7GcQM3SFoTq0K2n7Lhvv+ZJVH8VtFYgNoW LAvzzsEneCt1oasZcVsuFG2PxiC13u1dSADhV//s+elnzcgwY1dRLny3FRsU7c0Sg1mYENuKNKY lrSNF22B8heeKHqHEs1w8BxYGOhhP0pxKI4EKRBfip8D1v7sqv8q7f8A6Bil5Ij3cMOXd4XYaUB Wj+WCDVkqv1DpaHRWD0mEA6p3k7fwDuAPkCEVRR3oWg4K1wVvI4k4FxmXA1QJbeMa5wm+D0nJZR P8YwchlbI5Li5053R6rMgzu/Wgectk/vTBFD5oDy3irp/Md6Wm9KOfPMlHmc+YeSOWihyb/b+Jj +S8+dnSUyrBqGw4/doQ7SF64DBW3o9gwaakqgR5tgGHsu3HteaKkT3rVi0y4YxAJ7A0njfjcoR2 tZNwJ1CuWfBp3HY3DOEMIi6VYtFvr4MqBfsaiGiZB8+1mHR60RjKOiYpCJbP3spoAOq1WZzTcEe FKt9i0a41dCbUF6vUVK/1kGRiia0S9LiWMlhO+T+h7/+dBhaic/7ze1TUnSHdhEgYFAQSN4/bk+ orNMoMTpG6MjQZQ== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Authority-Analysis: v=2.4 cv=a8AAM0SF c=1 sm=1 tr=0 ts=6a8e9074 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=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=QeQVz4WU_SlHbdLaYJMA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDA1NyBTYWx0ZWRfX5gg0FlUa5R5E lU9tTFwK07x6+a6VZsNnoGa22Y1V4nHcbt7scy943WXn3DtUOzsnhl+n4KyVB0nSZAk/rJ5Fm9n suuRWGyfboIGd8EJTsrVgd3Sd/3Gbck= X-Proofpoint-ORIG-GUID: hFE_p2HNLe984KTyL1-Weogkgg2YS2tg X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDA1NyBTYWx0ZWRfX1uzzJMnowpyV C96kgd6/+T4TWlRJEOr0z+hRWBlNGLyDe05YnhpbjQXVCrZjS5Yy0dE4NYhwUUTXaVlOo+MT1II CYLZVehbPI1uV5Wdf/gOUEHd47O+TMfMfMVcosUBH4k/2/17rbqDgKgilWsoIdeFS5YZ1XZLzvq jo42myX9LWRYi9ND3mgm1UyQ43Q5HpgOqAHYILHk0EN7W6VnTMf4SFivdENmv68ci05PXNjDmUb CAZWAG5zqczR4SBaPgO3cchSZVmewIfpAzwZdk1NmIgPzvh9k6A6CZGXN0DTyUGxB9AA5+/tOXL 3MlfESXh/HH+KGBg0qp8A+VyPZq7lKvH5UvV5OoIQGx9ml2UDtL1wJNzDqEXL7BMQnK3CbNGkNW +Zqlh1JjDPch4V+/gynFuHuv+/qL1k2kGIZ4tjn7vGktZey5SBbaaGA+Q5nLrKty/CF+RQqzMWm f+ztdC70+4T81pPKRqA== X-Proofpoint-GUID: hFE_p2HNLe984KTyL1-Weogkgg2YS2tg 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_02,2026-08-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 bulkscore=0 spamscore=0 lowpriorityscore=0 phishscore=0 adultscore=0 impostorscore=0 clxscore=1015 suspectscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608260057 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 5da3df25c3fc..dd3828b14638 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 05:45:46 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 4F58338944E for ; Wed, 26 Aug 2026 07:06:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787727994; cv=none; b=YzlQD5NBAG1UE1Xnp2ZgMu/ZP0f3mo+APGnth/wh8KWQUe6+Zm0X4FqPnbxDpoubR9/hfDqeDaAPYz79Yx2UFG6kcVTKCJoS/5aMJA5UU57G606ZYmjcLIEbbw9KESoU67+N1yylk2IUDuw1470wBnx93E/oRm9dVYgQ1K0aPGo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787727994; c=relaxed/simple; bh=+2ROCb6kqVvx17mUmZm+JMrsgCHyyS4gQ9bjeReqjas=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kL8nednYdykqO8UgtW7grwRK6UUcB1cs/Cr6mowly9fvcHcX8O82/PMfNMlEX5dVAbHXyXNBUX611G0yCvtk7M7tyTpnPBILITK35E/3tGXUAKjZNY1wROloQQxoFBRw+dvIkWrN28KPKoNnR+WeQYBKHbXbKIzbPnjjBH1j8VQ= 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=koVJnDjS; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=OdeofhGJ; arc=none smtp.client-ip=205.220.180.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="koVJnDjS"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="OdeofhGJ" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67Q6Rixj3783736 for ; Wed, 26 Aug 2026 07:06:30 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=koVJnDjSjyPa7+I6 sc7VJ5YBIvvKQJRMMqCxlzRuFc8aHbNufP7an0ITUUE+GYFiS9SmcK3ZgL3bvllP R+aUUimadKisehtSAVPGrT2r1ghM0xrCclD6xp5KhSxDyGwPuktawRfZgxMl1OAF bOCZA3mrdHXxDtxtIPov+cvPly2tDjE+xJeLQk7aATZ3MS1Fx2w4/cR6VZSnlt2y JGtBGyYF6hyZ4BNRnb375IpuGqPA6AFs1n19OLDF0KGgjx7542Qmt2J3frqYjfY5 d69uFwQEaHrRdXswtvbrAGyKmzZ3PgwPD6BF3E7DwKdKYm2uCT2yMGBnyMFTJy1a 4p0E4g== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g9s9g8hpj-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 07:06:30 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-52d7b3b6aa2so3530581cf.1 for ; Wed, 26 Aug 2026 00:06:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787727989; x=1788332789; 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=OdeofhGJTwos7JpRaHrfHwzoUXZMkHSCoAoGKXPIQigFY+OtJK9Uqrudo+i46kvwVk z8XG77t0YrsUNulcfgDNxt0peVCx9IZ09TBTr8dircJryeOM4I+1xnmjMcC27W3tuWKv fjQ4NqPlJNWoubW3Qz4BBLxiPyOTNCXWufyAMtZ0j94glSLjzo2XuzUG7oeLPTqnkrRc Npx2kBGKUR+LmpVY9f0Lvzz/MP4CesW8WJO4cWeofa2aU7a8YVvEJYxIoG0ogQ00A83P k9ZrwwG5ZVMXvYGRmrBnlyLT+xvb8wfEpATbyI6gYXbmtYYpZ4s6jNj8qCFE3m1jKvrL h/Aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787727989; x=1788332789; 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=okUZb4R9YKhB3eTY0OWnX7Mmg8BpSDAeo4s64vT7leAvgbQRfduLXnAof3oMrjggWW 83w208oQq/w33RlWhcnJg0ioYQygUqTGmxmz8ePyV3NKWSUf08Z4zGLnD/yM7/RHtDsm ZS+ELeerN1Z0b7AhmebUzA0vW8ek9An81NLMZshUWpaqlOU2ODjYugQOWXTENFKKs4jc UiDvB55nOUCRJgh21gHHZiwhI/HbArr6N0dKPP9pNVrt9aM5TysLLT3mnrVeM7swOH6i xWeqqGxS9W5wKXHL/LJ/U2tNRJrUMO+gstAhBLovRmO7iYQtYESmPRYYCngQiyTTDrbI YNVA== X-Forwarded-Encrypted: i=1; AHgh+RqMUFzfSa/2bz9Cs6pzrBpRz1UFfyx+HRyLJ0nomLviWs0guBoUoVEpVJsk0zGRaGAFwfbA4URQQeFxzSo=@vger.kernel.org X-Gm-Message-State: AFuF++kAtTJ/BaI7jUUfrXPkQcTWANyvLnnrm6I2ibx5jxogcceJbjYn Hp5JmmlXx4wEuHRm98S5VFchQEjxgouORlZBeYWkdHTR7wKxKlQk+skg3DC04LXCbS5Gp5lct/Y m9vgZKXDXifRJNyNnXEbVTU24XXZDdhromv5E1E2VxpQQsgeSeNPWsoXfgzuF0UdSzjw= X-Gm-Gg: AR+sD10ktcTDx3PkhILgDcjkB0p48PkMte/1Ctwhm3KjTXpSxYUpMxba/obiE7XvGuA p2bJdccWmiTqkVRbEZ1vMbN6pBM+KxLGqt3SX4F7XM4fG09WNfAhGxrDhlm9DW0UbXRmaifL5Ns BixrT83wHtNV8EJ45coqzfEIJgDpFKesaBkJDIwHN4MrNjHzg6Y4iSiqo0C1AESckcY2Me53fgR 5INuu12oYS0IWX4caBBcBSst1NhjTJ5a0NgLN8oVtyhiP/gnEpWsEHkNm2AJGQ/ayReQSZzgm8H oV2OODJa3kGAH+/VcamF7iCg6LGFPz+Oad0pImdro49a8xu0qg5RuwiF4+7hI44t5mvRVh1ew42 tWCoge+ZXGIeAkBF3KweHFdM= X-Received: by 2002:ac8:58c9:0:b0:517:78c7:d93a with SMTP id d75a77b69052e-52e4227150amr41640141cf.16.1787727989635; Wed, 26 Aug 2026 00:06:29 -0700 (PDT) X-Received: by 2002:ac8:58c9:0:b0:517:78c7:d93a with SMTP id d75a77b69052e-52e4227150amr41639921cf.16.1787727989229; Wed, 26 Aug 2026 00:06:29 -0700 (PDT) Received: from [127.0.1.1] ([178.197.219.214]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c250a88ab82sm366812966b.31.2026.08.26.00.06.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 00:06:28 -0700 (PDT) From: Krzysztof Kozlowski Date: Wed, 26 Aug 2026 09:06:01 +0200 Subject: [PATCH v4 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-v4-8-022e60091965@oss.qualcomm.com> References: <20260826-n-dts-style-checker-continued-v4-0-022e60091965@oss.qualcomm.com> In-Reply-To: <20260826-n-dts-style-checker-continued-v4-0-022e60091965@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/ZANAwAKAcE3ZuaGi4PXAcsmYgBqjpBf6LgcSSdsFTH++TETWG/ezqsBymbXpQhym l6whHY3I4qJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCao6QXwAKCRDBN2bmhouD 17jwEACF5a5ZJeTNJiyIQdYb+/KVseeaF3QOGmj8xlJNWyfH0B6RsEvZfpNiOhJ3OxJWOPK4eBs kVoarZEWSH+EBMRVnXGix91HoQU63/8Kis7fD6QXJxHYVzkw4prny7h5kOkMnw/x4QBFb7HOLfL KLQWfVlvYzAcVxICvIigVlvjmPVrrHSY2jS+Zqd02E6rO9uuxj2/m3WXoDq6cB2REC40oqahb/D bRcrcjFiwfzN9q3W8tJAPIv9I5bfJzK84DB1MEwhif/SdwQ7cr4GDYaPpx4xxy2nV3KF8iJ7k+i 7L14hjxW1V+sVR2wy0+ZAzOv/H4ecBRM1ENip1HQHgIAWZqedOg+Iw4q9uteTGq20slS9X+LthY ynNYKBNu7wzuTqBleu8za3NXm9kBCf4dI9nabT/xuiEyIN+psmkSsOj9P7J5o/sFzEhe11Fzhx8 IwV1wT9uuvb9Nzwl+usdG6EibWJJkfJi2K0qWf9ltfuioC1DieUo4QLum3/vXTbPXi16GjOlR+7 6qxyUWXr5IaVaASmdKsMkH43ZgtYDrH9gAPsyN37t5bVtWOKQ+MuHQXzqeaHtizxemFk3hhLmTg g+eHuFteIWWDCATE172HoVbop2iQfN4rQYYV24hU+OnkKzJOgYHuwd/mcizOtSs5S89i2N8BKib 6ar6k/5RX2pxVvg== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-GUID: IUKmhX5MUNBrn-97iuN09BvsSxSQ-iPY X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDA1OCBTYWx0ZWRfX3sZdSi4CgidS RJC+rtaPYDOdk62JkH+BtSEhM/WBcB6/9pEruRUVBqar3IQGWEhCqSRnFkBEJUIXNf00kKqzDlJ YxnJH6Z/bLVdbxtN/BlW/afRlTftpEmfEi0XpVeJtDSoXD0MTapGRKhxQKca8CE/jYDchZojRp3 Ty6FqY49JqwlbV+X23mIf1YyWC35YN46y0XhrO2A22eMU0YfPgpnKfauRJ9N3nc5EjPNGgtDRw0 d7lzsxpfz39S8egD2Y/tzTD/EEFiEvkBVGMhC0lf3xGLJiNSycMW0uPYWMJ12m60xfM/Zu/g6W7 2Fw8ZU/m/gvz1WJa52pbYqhODklYAs38wStr2a6vBmkHSK/Q8m2VymFNepXzHvDCy9WB/3gJA9J Z84wIfGejBLYSSIVUNg2v6UM1OyQWTcU9D4vB8kv6oSThdyKCyZYeDw8efhGZqkhokzRHCuvkqo SNnXNoyedb9W62nCPKA== X-Authority-Analysis: v=2.4 cv=Xfq5Co55 c=1 sm=1 tr=0 ts=6a8e9076 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=+bKQE0WJfmhK2875HamI0Q==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=ZteHwOODggqzs_94cHsA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDA1OCBTYWx0ZWRfXwnNdXMnxAlN3 8ovC3jN84k+4LYzCJKa8zyqBnGSbz/VpZT5mGO39U7tCGkZgMUtm8KNVBXYoClvcAZjV46meNmd QTSL44t8vS60TDca08pGPL+BStsf1hw= X-Proofpoint-ORIG-GUID: IUKmhX5MUNBrn-97iuN09BvsSxSQ-iPY 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_02,2026-08-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 lowpriorityscore=0 phishscore=0 suspectscore=0 priorityscore=1501 bulkscore=0 clxscore=1015 malwarescore=0 adultscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608260058 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 05:45:46 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 CAFC4380FC5 for ; Wed, 26 Aug 2026 07:06:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787727997; cv=none; b=aGSKOb3zN7k/QiwMENZGGG6yOxidh6gb2CObZ16ckHVH7wccjwY9qrpXjq8e17N+ALCVnAqRYleI3KQVn4xczjjPIiBAotnez4bDotePA/QpFVwUC5PM0yNGMa3sl96a/QHDnLc39tgBfkeV91NPxwXEz9LkrwZBUNLvIIjYmek= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787727997; c=relaxed/simple; bh=FPeedyVcOBXCW3XWVDVXuimg6qXUY3mVgEYbtrKbxZ4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=tyuoeCEDsXw7h5rkA3IIXYMlpY2d9GOHuhv3duZefsszp6WEPTWFr8SfnhzWV3oVRLSKV0XPDbSwAex2WGjWYwOPEPKOad4IBadnKBDmMDzQvj2+Xqn8XIcWpHZpqupy0eVI4ZCrC0Yl5tMuFFGC2KFuY+IA6Fo4DpkdxFadghU= 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=HTHRxJs5; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=g/U1lzyy; arc=none smtp.client-ip=205.220.180.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="HTHRxJs5"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="g/U1lzyy" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67Q6RuiJ122870 for ; Wed, 26 Aug 2026 07:06:33 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= NlYonceip/HjNNcd5x5taiH0FWaLkMJzjDZRZYp13jo=; b=HTHRxJs5YGnS0NQJ tuiYZcfNRMeZNqRI4pk5SYrFCY/7vtszu7iMYt1OI2nw50t914Fz9YnJrbXQaTBI tK1Z40YGsG7Oia6Hc0KWZW16WUWDH0tbfRZ9bzTODPsqYLmy4/ZBMEjfGzJtTmwx 8/zk0C+lzul+Rs+z3Qa8BjsTI9r2MRcmnEeaxDijWwYHwmp/3eE/0EX/NP+Aufzr k3tU9xgGoKNJE86FAJW/P1fS/VIDv7EgfpNBBYDBLurFVtx8QhFwtWPzNMBWFEvK Jy4jGAa2pGTnJhf55wuTTXVlQIJFGRrldj/k7VE9MnW+TeJmL6NMnu4ClrvWaCqr VOKh6g== 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 4g9g4mtcm3-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 07:06:33 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51bf321d786so4846171cf.1 for ; Wed, 26 Aug 2026 00:06:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787727992; x=1788332792; 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=NlYonceip/HjNNcd5x5taiH0FWaLkMJzjDZRZYp13jo=; b=g/U1lzyyMPrWCqiay3XBb5FzVwDu5dQ5ionHyIuQ704qyfkwCGcRoQvL73hmyb/8TS Qz0sqFaBHxIJcH+Q5uG47D2TOKSO2oLvdoxnKNCKwIL+irg6yNxakL6oZGUdLjpQFGka Bx1tePwwApQJv6BmnR0asIBB6C//fIbsv331vhfRYcfJt9XMGcPkzI/wj7WBsP6M3LNr muk1e5rwWJWF10lBmSSXxh2KM303gQwRMgYfQLb/XS/wBQgpT4QpvIMR2H2JpIJ72XiQ OCu6qTCXHOsycG1kbWA9axSeY1qguRciDJaUx7qTZPL1+YVjJFjO/zp30fcNBS26Rcvh 96gA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787727992; x=1788332792; 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=NlYonceip/HjNNcd5x5taiH0FWaLkMJzjDZRZYp13jo=; b=ah3I7S+nRSGOqH1v1TWES01nWWYvOa+kd6tmV5gZT8WdClEccSk6P8KbwjzW3qJT5B GL3Mqzv8kYNUMDBUHHPoz5CaX23YC+cWZk8r7tGqn0U+7UzpWkFXKTVbR3XGa19yfTlx m9GaMNgqv+LHTAdoS8SRBauiTCw5D4iHuJXqaaYx/tzYIMNhFQZykH/svmi/Z2dDBRGC +5qh8rq56dgXlDle2TbLz0brGJp8EivUisUYqaNQU9Lmsz8dLspofDiQGQcxpOeIdNYn 20Ex9bGf2AUl40ndRjYyi9QCSmsUYEcwuTvFlVIAotbXlqYNbujWHJoiTHgI+C87juA/ NogQ== X-Forwarded-Encrypted: i=1; AHgh+RpP3QvEz1fpL7R2Yw20S0uqWmh4PmLI4hem2XQD7hRfevfENDiK7Vyb5vwrKIOi1mZUtFUggky9ydXBLwE=@vger.kernel.org X-Gm-Message-State: AFuF++kDoPseNOnGt9snVa35bm8cByuYxo4vYSGocbzdQr8N1smjEAll LA62Hs8RWctXymNOablwWyHxOzO2egaRsDl/fGDkEvzXn7n30BfijUpN95VMBR6XfwOBy+yeHmK xRN0Hp2rCN5RX005x2ZC/GOYmosw7SaclUfPHYbT8t7yGyg0kM+FUYsPTa66lqzyoq8M= X-Gm-Gg: AR+sD12usRpE9qQAh9LYM4zOOycxO1ut88tf+1Z12jPhyHSl2OONg0u6Bz+fkfk/PXY 2b5bmoOu6oO/3r7Rcb7dtlqWxqJxCfBTGlUV3m2ZnQtCl/dXydfC8zP181dCB50mf+iiwfgLw7V CNN0Ea1x1FoE2CxSiLAh3gu/zEbqeWafp/KBAi2GRY41C4YOaS1vcXE4ykRpq7iQ0FYRatP/n4f Vfy9GGjMb3jIEJXuiSaOg+tIdVS7CS8aKmS0899svTaqcahtjIbsfWyHOATFZaEu8buBKDOx2MG q3MzblFbTqs+YNcQma6iWxP6x7wG2pmf81Fpt/46FnDRU8136DtIMApvsMKsQMHoj4DKOaXIIuL vwdEjNvgevIxFz4kiFlBwwkE= X-Received: by 2002:a05:622a:c2:b0:51c:555:7dea with SMTP id d75a77b69052e-52e4236caeamr43894621cf.30.1787727992316; Wed, 26 Aug 2026 00:06:32 -0700 (PDT) X-Received: by 2002:a05:622a:c2:b0:51c:555:7dea with SMTP id d75a77b69052e-52e4236caeamr43894011cf.30.1787727991553; Wed, 26 Aug 2026 00:06:31 -0700 (PDT) Received: from [127.0.1.1] ([178.197.219.214]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c250a88ab82sm366812966b.31.2026.08.26.00.06.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 00:06:30 -0700 (PDT) From: Krzysztof Kozlowski Date: Wed, 26 Aug 2026 09:06:02 +0200 Subject: [PATCH v4 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-v4-9-022e60091965@oss.qualcomm.com> References: <20260826-n-dts-style-checker-continued-v4-0-022e60091965@oss.qualcomm.com> In-Reply-To: <20260826-n-dts-style-checker-continued-v4-0-022e60091965@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=12566; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=FPeedyVcOBXCW3XWVDVXuimg6qXUY3mVgEYbtrKbxZ4=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqjpBgNzbOdpkZS0yce/l1txODGulEAiSrIhcTP v5cxditbvWJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCao6QYAAKCRDBN2bmhouD 17WmD/4tF7683zPWDlEViBUe77te8CwH3tEwUiVou/npGVophJYrP0MGsWc5D6Fk9tv2SGqyPNk CWtnBv0ETO5QnbHp0wVi+VU/a8Zu6tJ12b9TvU7WGPVwtWSAgzAM/dHCpnkgy+jJaa8YlBIftOh c4t4Rl8+b2ykaMLYVldxeiMHClZ3s4nMrHGG3OssjaT3Jd8XcsvSREsczFWRNp4EQIX/U14oWGC 9Mi3FCFTpNIB3ucwj3zGEitSwE9yKmVvFqND9ylHDL7Xf7NaCdJDEm/3JoD247ZL4YMX8X4fMGN X4pSYpmWZn+9Is9yAJ2V3Hs5LfkG+E/ZZf4oHS3erqBvQn2LwI6yvpIpIDlMZcyzpqFvsQ1AryZ mqyAHp7r/h6DwHTrb6zYS7DilhD49/dWUSlXq7arIUYYWuAT8axlBK/80nxkOxbNzs6QpGuRrCq sPTA4lfCCWqB56DswjIOPiVM6G4n1zInHyD8O62cKss10LcUQ7jqHyLIf3ows92xtM917zE5Rb5 UsFEI1GYd93nHOHKdxprYEV7bFi1V843ZlVP2VStNcjF1kuP65UyQy4e4IZ4Q1Ris5E547tyoTL npVPr8Edf3o33g0ie3SINjCDuwJ5miRoLibl3suqoCwaEDMVpNHDj1JRPawmqfHFVCw759gm/Ic h3CdxRe8f35Yl7Q== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDA1OCBTYWx0ZWRfXyIcY79sZO0qR RBxANlPWZVBmVGu1e7AY580BDB9h9TZidCgDcL6WJGuCPrRt6PDSqKBUjlkGZQMfH6sxWqhogI1 TpzoOMiLMjT6GKX5uxBekLk1w8xM1RE= X-Proofpoint-ORIG-GUID: 6JegD-eMyOXxiQSS7Cz131YiyxwgpPj1 X-Authority-Analysis: v=2.4 cv=eYgNubEH c=1 sm=1 tr=0 ts=6a8e9079 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=gowsoOTTUOVcmtlkKump:22 a=gEfo2CItAAAA:8 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=5jFD4gabhsihpJkUSYkA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 a=sptkURWiP4Gy88Gu7hUp:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDA1OCBTYWx0ZWRfX0VIL+6jvTFwE DDWAWfqud4LGp1KG5x2VUe/LUSS7Z8Gf4eQEMK2DKqb+a6LvANJTzEii4G82W0net3kZ5fed4pu tDbaMWjW95MDg/uDCiwaGi1mdZNQu0S0g0t+EoWl+EzwSERARsCevZtTM3iu+76CV9C9d/eqW/J b1N4RyNtiBgPbgIPsn+1oVhd9XCLoQv6WR9t0n9e7jAx9/WosubWstZgiMZxBVob0hjLFZjzlJY ehX8SJGt+QnRkLyvuVWMF2O0+eFjsIzLpKsb8mPiHzyhKfcjtO9ZQfexUrVSow3rniv64epTmh/ tyIs6Me9ql1JYfzJu4BD3YpQyMrgD0sn5AMNezArqkNSefk09SXS5XZO75iF0mqAymoS+opjTOB mabeRGKo7F32x+lA/j9eyZP/N9E8sp4FUnu7RKZfxpFLgr72lyurLZHxEBr5gi60jg8twYY2dQ2 YgnqDDnIz3i+7QvHMdA== X-Proofpoint-GUID: 6JegD-eMyOXxiQSS7Cz131YiyxwgpPj1 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_02,2026-08-24_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 priorityscore=1501 impostorscore=0 suspectscore=0 clxscore=1015 lowpriorityscore=0 bulkscore=0 phishscore=0 spamscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608260058 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 | 38 ++++++++++++++++++= ++++ .../bad/dts-redundant-ws-strict.dts | 27 +++++++++++++++ .../dtc/dt-style-selftest/bad/dts-redundant-ws.dts | 27 +++++++++++++++ .../bad/yaml-redundant-ws-strict.yaml | 31 ++++++++++++++++++ .../dt-style-selftest/bad/yaml-redundant-ws.yaml | 34 +++++++++++++++++++ .../expected/dts-property-order.dts.txt | 1 + .../expected/dts-redundant-ws-strict.dts.txt | 13 ++++++++ .../expected/dts-redundant-ws.dts.txt | 9 +++++ .../expected/yaml-redundant-ws-strict.yaml.txt | 5 +++ .../expected/yaml-redundant-ws.yaml.txt | 3 ++ 10 files changed, 188 insertions(+) diff --git a/scripts/dtc/dt-check-style b/scripts/dtc/dt-check-style index dd3828b14638..e67ba1e5164a 100755 --- a/scripts/dtc/dt-check-style +++ b/scripts/dtc/dt-check-style @@ -349,6 +349,36 @@ def check_trailing_whitespace(ctx): yield (dl.lineno, 'trailing whitespace') =20 =20 +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: + 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){', 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_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 @@ -1002,6 +1032,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',)), @@ -1052,6 +1086,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..de1f383571d2 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/bad/dts-redundant-ws.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/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..92ddfddaf5c0 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/bad/yaml-redundant-ws.yaml @@ -0,0 +1,34 @@ +# 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>; + } ; + + 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..c18c1972bb47 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/expected/dts-redundant-ws.dts.txt @@ -0,0 +1,9 @@ +# 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 ; 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..c85e80ed272a --- /dev/null +++ b/scripts/dtc/dt-style-selftest/expected/yaml-redundant-ws.yaml.txt @@ -0,0 +1,3 @@ +# 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 ; --=20 2.53.0 From nobody Mon Sep 28 05:45:46 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 A80963822B1 for ; Wed, 26 Aug 2026 07:06:35 +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=1787728002; cv=none; b=sicQ77HBzgs0iGEef3l4i1dhCXaS9a10cIjNDilf4DPE4FFmC6geZ4opX+cq2QIK4OkmIptjDLq2VS2LA63nvIV9q+rXYoeyem8Pvcx/9kGKdWxFehGmqJL9YP6X6L6DmwbjO4/3xzuS3YU/PtWpgrDG2at6xZgJ9f4IPYtxGts= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787728002; c=relaxed/simple; bh=dKa0bkhQNHGF3ECM0RaphHFXMQfLxiwcJfDby9lcfX4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Q3uca6KH1lZel8qdMxsL1OVNZTB9cnzTIITntnh9x+5cza4Rd37TKuiH78AcayE5qAc62VaGeA4nZxE4uteLiYMZ8ux+Gy6kQMHY5SzFjRkvL38G1sh9yE2WM7x8aDqPU7rNoAr7xjf9YwxFdCkXu3pnBCng89Z10yTKU8ocsFo= 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=O0kq42e3; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Vrk6lEBk; 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="O0kq42e3"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Vrk6lEBk" 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 67Q6Rc8C3794487 for ; Wed, 26 Aug 2026 07:06:35 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=O0kq42e33eFECsEJ jE0ydvtG+Th2MWSkDcPqMU67VOc0M6OR8GqKh1Um9fAhVy1dSx78NVIrthun9MQw GcHGaaKWO9zUNBV+c3IftoVPQrayiCn71KX6rcas5otLhvzmtsnoQcPVHmEME1cE G5RrSa0tBgMHAWL3/TN1RBRjwdcHJaJbJ9r4LH2ZyGeaYLYu39COgQwXdSTrlzOl 2Q6S91X6ONwaqS+Fpwj7MPQrBHxfe5EXRqEnKlehfe0vQebmqFQr5eN3WexBYW74 a+v4PoVuCWbCqUVhLcWeRbQL+wjMSHFCghF6HB6jHRERvH7OCkHf0N19LB4qp2mC h8PLUQ== Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g9smx8fn5-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 26 Aug 2026 07:06:34 +0000 (GMT) Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-90cc934fe9eso9993826d6.3 for ; Wed, 26 Aug 2026 00:06:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787727994; x=1788332794; 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=Vrk6lEBkj4tT3Gegk6kkJDrgvHb7R6JyHbSIlYE64Bahypd6iHsF2w9eioWyWTMymg DSstuT5m4W+UYCPwOIu+qi8B86c+4jRtnpk02jae0ZVVkz8pPYfJ6073pVZoE7epyX05 t+O+oIqxp2ak8pIZtiZLo3XEW+EPARGbkAUNS35Abfq376rxFBnSdjVK7R7sNPM9nN5f 1E668ovC9LXtCNhW+U0yMJlEMGjINtWkt2+2MyB1aV6dD/yHOnqAd9SpEvIMWpVpkglO QaV7nmCzOf4Q8vj8E6I/Jl+CJlryUxa7mQpQwZF1mdc0y2NLnUTOWKnAbtAlX7CEoLwn fBtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787727994; x=1788332794; 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=o7VOULCl4RXCYTUHBD2wVoyo3djlAu3LIYRTXn6vUcToPYIROIMc4usrOnbF37P0W5 qfpmp19YiR/LSUP1xp2aeqmN/qGq1MGFAdrksvIBo//ECW+PVzM/d6qcmZ58S8DROv91 SzAkMF8k2umezS0XgBaDaXv7zxpGUr71p8H5KD4GzWXg3SQ8zKa+1kNsI9SfKvenQrXv kcp/apJ6l7UYMKIcnpBHgvvS34e8rDZoLYlHCVS8q5agqU2c3b10RhLZAHV7+pKPXgS8 amqVukI9Ph++IlyH4guWNdFYef822WLy3hL967sSOIUB31LMOQ5Tah0LxbqlAYl2OgGW e4hg== X-Forwarded-Encrypted: i=1; AHgh+RrHo08tVyJaOGmot6z0qYP2PZEHZ54WfTYSTxO5PVgEDN7Nd0KUCwKNzuL+MUIEHmfDhrkXHF8EgYgMi6k=@vger.kernel.org X-Gm-Message-State: AFuF++m+J1Mh28qaga/pGj94dayYcNT/l36rqd56MYmi0tujBKHMfPfn kqvnCfvfd03KJ5+xs3Fx5hxJv7j0Le43rrHNT8Fwe1ZEG3adDm7z5wdk3B60tNUbGUjtMf6HYHE cl1uwM6M5X6xtV0mzhy9Zr8c7eGbkqVdaxQaNVO5wSUWW0fZs3OxtBOIkTuI/pltRMCQ= X-Gm-Gg: AR+sD115As06SEgO+B8b0g27RBict/IA8+CJo0PlYz1LC8BOleztg92U4huIN/YNEjj bkF2A2MDGAB0z/629ym6/u1MRIFm6aIGToH3qZVcZkiv4kexwLvGdqWE56nhTDqfBURW8DdF5wS AAaUVc+eLbGqafqv9Qqc67LQXNRfdxCxh6LfV9m9uY6vizcxb24VORfv+g4suWsGwQKRS+w8so0 sFmRFBVY72C31iq+e405QHPihgXd06qrYI2P9in1aIml77SQbyPoBl+pdhe8Z3Vha0DrZGXkt3G 8/7bbTLuwL9ZUmhG+Xqdog5EWj2aSborCQ61sozH+4pCBkCQuYLNAO/cKJOVgcQ+2TU/i9giEnL aBxs2dQvxgEZs+X0ATjDjpJE= X-Received: by 2002:a05:622a:1f16:b0:51c:ace:de6a with SMTP id d75a77b69052e-52e4230e4b2mr46715181cf.18.1787727993910; Wed, 26 Aug 2026 00:06:33 -0700 (PDT) X-Received: by 2002:a05:622a:1f16:b0:51c:ace:de6a with SMTP id d75a77b69052e-52e4230e4b2mr46714881cf.18.1787727993491; Wed, 26 Aug 2026 00:06:33 -0700 (PDT) Received: from [127.0.1.1] ([178.197.219.214]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c250a88ab82sm366812966b.31.2026.08.26.00.06.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Aug 2026 00:06:32 -0700 (PDT) From: Krzysztof Kozlowski Date: Wed, 26 Aug 2026 09:06:03 +0200 Subject: [PATCH v4 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-v4-10-022e60091965@oss.qualcomm.com> References: <20260826-n-dts-style-checker-continued-v4-0-022e60091965@oss.qualcomm.com> In-Reply-To: <20260826-n-dts-style-checker-continued-v4-0-022e60091965@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/ZANAwAKAcE3ZuaGi4PXAcsmYgBqjpBhjTAFGa+82WPqytj3/s9gJnvpLpQff87Ed b+gLJ7NvJKJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCao6QYQAKCRDBN2bmhouD 16G/EACTfW7rzaruhsV6mJNWw7rp3sm0yF1+ODrx0N2HEnahV5ghhLZ/FhGJ/7GKmSoHiqBu+jn X1VZJlnbgO8NH8qlYVXC+4B7rJ0n1U7KVoioPM7eR1fsbbCv3pfHfa9YE820SVzc2w6JS1oX2QU XnSwAU+78IqMkLNl7HFOdFm4h9mF73ZzhjqpQkgspe/DMfDiTNJc1oX8D5gPZ+dWJh2P9gHuhbV IguilxKXS17eSO81vWqGVCOINGw4Uo9H1u34YTeLriIVM0yknqL2ItORCP+v3Vccs7sts+/E6zn 2npydVeNPc+WS07BR8N17nfBjQDA012krDfQ2oEGedHh1adWWPutPzRwht7wfMoo7DrSW5SKOoj ll7Lt9gNP7S1X/3PeaBZbxCG/JN+9XlEvRjy/ru9Vh9h75bKU/UcgilJ23Dzl3Bh4RQTgdmYhj8 zOC2FkN6gW++0n4vOr8U/+OZS+/4jVQAgRsjbSMbON3sZbNx2UtH67vsnxJsc0Oogqonh4v0vX1 dOkV/JItC29XSWskpvJepPSiZG67/BOv0bumgiKhyh/TgDnsbv3fP9nozCcdKdFMih8l2TqnLmj CeMjnMMCONFj643iqIxIxCJcro4EE85NWbJ3n+Jz6ZSzfT12Ur1+52/gSNNAoNvX8qs4P0YhsVD qvazow20QKsVz2g== 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=6a8e907a cx=c_pps a=wEM5vcRIz55oU/E2lInRtA==: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=hdCJvu6vi-O6ykQZt0QA:9 a=QEXdDO2ut3YA:10 a=OIgjcC2v60KrkQgK7BGD:22 X-Proofpoint-GUID: 110OcOaFNPUFN31McDxTMJYdSCFdMhwT X-Proofpoint-ORIG-GUID: 110OcOaFNPUFN31McDxTMJYdSCFdMhwT X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODI2MDA1OCBTYWx0ZWRfXwAtdcLsWo/Qo pvLuEmx0DlOCKU77bP4rz8GBUWtTH3lmA0CoW1rORGNEcdX6uFoU9K3oRMEFQxw85G1hY+tl8MX dFjfnIgjS7c1nk804mCqsMBPQWNDioeOXczRk+eSo3WGLiB61fTGYCRQ62bdArCHXyPG8+3YfDL PVqxdMWDf6bVhillxFzBA+HfpFSFP1FPFYjeG83iGjrKaqmx3vZuo8ThTKaUai0JBqLCMNsAOJ5 Nb5bjVSvb52h2YvfgCJ1Nl/25qiwCGHOZdL/mbrriWckN4cElXKYEo6zCKVcZuCgnQCNC47DtQQ MU+NV/TOnlZZwNCUuzJKpWlBuxyro3SbJI7V0gv1Yi8V3oXFjDFkL/bXG925wNdj2ZyN5Sovhxf A8oPUM2xkSpdejhbUCeIJEm8Uo4us+opu4WmZglILSrf9/JFAxHBK8WdWKSS5bHGtrl6sUFJJMh bAdTvlFRgmZTFH2dt4Q== X-Proofpoint-Spam-Info: AW1haW4tMjYwODI2MDA1OCBTYWx0ZWRfX+j+96UouWPvg a5O6fXp7UVPrRwPm/3w80Lkz5ksz8iW/bvllDoMl3Zk77nW1eak+lrmWmOdiGKaV2POUpV8HpVL ZDaBLXIHE2s17y4Nvr71fkKp5p69AsY= 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_02,2026-08-24_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-2608260058 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