From nobody Fri Oct 2 11:42:56 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 B3445376481 for ; Sun, 2 Aug 2026 08:45:46 +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=1785660348; cv=none; b=UCjUH2C8hY+A0DSXJJPx+VTBJ0dXvIAbKsIy+gKrweQ293sb11KYLFcq4O6U/NsTZmEajqFIQsvWfaIhGwAaouIsxlwqrYn2LEqdAg3WhpnUu9iGhjpx0x1T8BXnenzsjdVIcE9bkE6g9jBqtiZWjxodKpW1XIQn+/5o0SovFOc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785660348; c=relaxed/simple; bh=ZFlLG3z3MlcszCNrY5WmDudqd49xElNAGFD9EIWF1s8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=AeKggqJyHltYtloxeMa4r4xozhVAxqJga4OX9PcditwcoiUoWkRRHd4hvTnrsyZ4NSgmvy3Id1/+be0hO1mrKGQRRDJA0RpYnI8P4b+gbC/nqCuXulzIlBlIiwd+r9cWUVylVZwyWoXMMa62ftf9D/ti3mSTCI8DB3LdRY5jD9s= 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=RzRAaCUp; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Q+vnjh/s; 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="RzRAaCUp"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Q+vnjh/s" 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 6727m0eN1403096 for ; Sun, 2 Aug 2026 08:45:45 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= Nit2svKmSnKek5KgwJ3n2a8gERZY/b5GYApAabo7+j4=; b=RzRAaCUp3G/sg9pW WzRanZuBnqlWLqVkdszizzjULHMRCFp2nUUDikOmiktYinitOiwobLKrKf/1QWqF HjX32QLGDYNPshMg//MmvtUY5XDPXjY5Ur0wxrBqV671SYBhd0MVW/Sf/qxrbpkh 11MIahUvetae59LLTtWdqw6uLDo6C8+d12yzMMB/KXeHLKiVhgBIX0e73rfYPluW mY8kBSfIcLyD50gimV1H/KgFKfrJWtjvmNs16NMVa7w/q7ZfTMaJjHGOlkAIgbCz Wxnp11LJAcfQCjmtl4eeY1GGNbvIkL1ZW58H4imIj/Z7sWyAdDvAZOmVmYGEhPKe KMJPHg== 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 4fs8q52jej-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 02 Aug 2026 08:45:45 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51c12e43b98so22529471cf.1 for ; Sun, 02 Aug 2026 01:45:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785660345; x=1786265145; 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=Nit2svKmSnKek5KgwJ3n2a8gERZY/b5GYApAabo7+j4=; b=Q+vnjh/sw7N8WqpKkF2oYsseswD9YS27S6IUoAVv9u+f0CJGJF/BhR9AL17NqbuKx1 TumsdyS/1Gr9ybJKFG6v0ygmqXpERoNnVxFjJOpidIotNwRWA+uLDnzzjc+nuQI1eBgQ oydHJcHqNKHP1K1d9AZEwoAGVRg/CWaAyPbVB8p5N2OWtgwkxABFwS8HdHVjc5AmyJbF 01Zpy4suhxzbkqpXrWvutq1iX37YQI7aZUBLfumuihe1KSrnic49+LmoFdYEUnJbhA4e FN0Y1EFIdzFyjzeSBVevsF7fVZaYNSQwX6FXYdRV8vKQYuRIaUenoGtTsZJfsV7DKi1l +o1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785660345; x=1786265145; 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=Nit2svKmSnKek5KgwJ3n2a8gERZY/b5GYApAabo7+j4=; b=fyCne4qVATZhX2sWkl0ZpHdPuzMNjUoN4UpKki5rDA2dPWktjJOjlTSBztLBN+Ctq3 A1koJiwvstikaphGkYUQUm/TKJNGe0/SgrTn0XXTUAY7KAZvLSap1wJqkge4PUuCxAJP cEVjlRZcaFszTGa5SH5LTfnQA48DBrVilezcf3pkyt7IdUIRE+lH6fvs1LajIzp2fkYj M+9Py3chB3+VPWxInm0OKRmRD/78aUI4g08D3rvcYfFLkFq97cqFPvS3X8aGV8jGjraO dP4T0jZ1k7xmTU4xj0dX6DLJAzzgTeK6csEjbHiMztKjpFVKE/Qg/24fi3lvIH3Y7vTc DvNw== X-Forwarded-Encrypted: i=1; AHgh+RpOI+tfDAcNdvYPtjgJW6PvqTABxpbTb4c7IXtVjS0B/FvZ/zW+c48+kC+r9vBuQ4ikbgEcW4sV0Q8PZoo=@vger.kernel.org X-Gm-Message-State: AOJu0YzuhX9LET3X3EYknJ/9bMjh/yjUjqOaBj2V0jRytLrXubl1jkj7 wVQVDvPYZZDI6TzRV/cqi6sZf0a21o0J6YtBxncPURBNVxgbe0zF3wfP0m0Bn5yMhaD9KMuMSVR uJ+rXyNM1F5C74DUyXk1I9gUCvhwjItGJZOsE0MIdbsQoI9mlOK75ad1tZFw4wvLECGE= X-Gm-Gg: AR+sD10a+JfG21sGomkFfCclrm5AT/ge1qZICTxueXA6jAT4XGviuF4rhi0syeM+i8u 7+GNri3K6LSVi7p1sub8kvMAiJF09GNjV5nfoGcj4DR1oFwVQ6zQGeITv5VdQ3Pz/OoU4iP3bby kG6iSsmuf8sWgKMsIijKSO9RQ2fujhSkb4XgBrxQ4rpJGtHoXNG6LfnRB7ykzqvmuqGjfYrnp6v YRnHmCGMeTDshJY0ZAyjgpVHM+4rA5mbNVoWSLGmxjyKuh3j20GeHljUrCgC+YiTt1xoYwOFOnM Cx3tEDXmMylrF8sQSx/n/fQYBtn6QX8ej0LZrEJyCQN3kgs9KLr1ITiaufurHkODr5I9/64jxke Ai3VGFCd8TFhwtZa3zIb2c1RG X-Received: by 2002:a05:622a:1c1a:b0:51e:e5a2:ac82 with SMTP id d75a77b69052e-52b5682e7b7mr128349971cf.23.1785660344801; Sun, 02 Aug 2026 01:45:44 -0700 (PDT) X-Received: by 2002:a05:622a:1c1a:b0:51e:e5a2:ac82 with SMTP id d75a77b69052e-52b5682e7b7mr128349821cf.23.1785660344387; Sun, 02 Aug 2026 01:45:44 -0700 (PDT) Received: from [127.0.1.1] ([178.197.223.174]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49808191ef9sm139198195e9.1.2026.08.02.01.45.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Aug 2026 01:45:43 -0700 (PDT) From: Krzysztof Kozlowski Date: Sun, 02 Aug 2026 10:45:23 +0200 Subject: [PATCH v2 01/11] dtc: dt-check-style: Add missing /dts-v1/ to few test cases 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: <20260802-n-dts-style-checker-continued-v2-1-6c5dbd1ccfe4@oss.qualcomm.com> References: <20260802-n-dts-style-checker-continued-v2-0-6c5dbd1ccfe4@oss.qualcomm.com> In-Reply-To: <20260802-n-dts-style-checker-continued-v2-0-6c5dbd1ccfe4@oss.qualcomm.com> To: Rob Herring , Saravana Kannan , Test User , Krzysztof Kozlowski , Conor Dooley Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=6705; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=ZFlLG3z3MlcszCNrY5WmDudqd49xElNAGFD9EIWF1s8=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqbwOqhPPMMaIL6XS3ZELCo78h4MqKMPQQLaZJM HdyQTlGahiJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCam8DqgAKCRDBN2bmhouD 1+tJD/oCY9vnPUo+G82I5+CZkjmSR77i7xl8NUJKdAO1NWPknAqGkCtvrEkbjLk8qFLlXOSwX8f IBHQw11e6p1aIs9u44DyLE3v88fPeV6CeTX5kgpShVYoQ2Q/FHFDq35Hcct7IVT53dAO/FTW2OL IVEpzctnPHZIap+hVeNsgvO5ZqslwsOuxED2AJ7TOCZIiJcSBlla6S9FoiQw3ovuPvF1NlFNVHi N1WlGp/jcY/JmgyN81DMjY1VaIfYSZ3x4TrwI8t2HiFbOD1tuNh0fJSzRhwMLQ/X/50GY3jOuuQ UkAQffB4K9JCyze8KIiyqnc7FjSN0TNdq/ZY9k677x4RDhtSIvYZaIzljO0xilRto12125dHWHg fhOri5i+0gA9qjO779ZyMdS8yaZlnrOIkoeMZt9QSEj+f86StRjARIrlsxv+g0kim1uDYHKXbCh kVGOweO1lBYEqrKlR980mipPsFSu5Tj2cek/KGsxh0mGn6EnmHUIH719CyXdEnfJ9PKZnihhKkA d/xldwVYrBdx70Lrk61VLH8X4M8s8csMQ1zNbrpCOBX7UEwxADk8T6HKuvpkbzRvWaaaK65Ik35 gqkzzILB/fbaNuATn72wW5gL7cxYlwsg9gmI9QPDuH1AkFDvyZPsXlXtBvdsCBefgQJQ5jiki2/ AMIJtOUPJewYdFw== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-Spam-Info: AW1haW4tMjYwODAyMDA3MiBTYWx0ZWRfXy+JnNDeX/wJD 2Srtql9R4tUbtlnMPZXCtIudiP3JoZnFDNL1j5UmcCv7JLpSRV7Km02g0Unm0Rtb3FAUnrylfRa 0jZ/fESTAUIwOoC1AXAFAF60KIota6A= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAyMDA3MiBTYWx0ZWRfX4+yYdHVj4PYO Se399+WfOrBKKvOVHI/2pn9WPfOSkcXRzu4CDLFk53gFaohs4B43W9pAFlAantBYFEEElc55dV5 FGBpQ4kXsQtTA8Sr/P9OYww0tC6f0EVN7oqLbRcRU4ZczB6nv8PHOoYlgf6IQVekVjkzzriBpZs ZDc6eYnm+AG7XqMrAdx2gmXujYZ05U3K3cRENqzhLWVAXNpLXmzpOtV1g4hHL7tzCtUhEit4vYa nQuA1GX2oTsjl5Drs1/5LoQj5ZoR2YwmXuu4brQqIfq0rN8wwcPpwD4gaadmjmk+ezqmAuWWtJ/ Izimfn6kXKH8lcx897JwiSwKecr6FMrrZvbvWqarwN5TG5VtMsqDBKxXq0WScQieO5BWNYqPkCe rsqE+DBa5RGgvceUW/ZWibqJjY2fhMKA6KKBAQCNC4VJZUv4S2lO+5527IQC+Jo5smJgkQgUa5J u8YhBype+KX7uqOdijA== X-Proofpoint-GUID: XhDr3W0fxyX7vcJ9lUGtFUrW7bYSBx2K X-Authority-Analysis: v=2.4 cv=IYC3n2qa c=1 sm=1 tr=0 ts=6a6f03b9 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=N6niishs+lR9UBL1FN3Qrw==: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=bazDI84LfyIabikLn_YA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-ORIG-GUID: XhDr3W0fxyX7vcJ9lUGtFUrW7bYSBx2K X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-02_03,2026-07-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 lowpriorityscore=0 impostorscore=0 bulkscore=0 phishscore=0 suspectscore=0 priorityscore=1501 spamscore=0 malwarescore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608020072 The selftest DTS should still look like a real DTS, so it needs '/dts-v1/' marking. Signed-off-by: Krzysztof Kozlowski --- scripts/dtc/dt-style-selftest/bad/dts-child-name-order.dts | = 2 ++ scripts/dtc/dt-style-selftest/bad/dts-extend-node-child-name-order.dts | = 2 ++ scripts/dtc/dt-style-selftest/bad/dts-extend-node-digit-node-order.dts | = 2 ++ scripts/dtc/dt-style-selftest/expected/dts-child-name-order.dts.txt | = 2 +- .../dt-style-selftest/expected/dts-extend-node-child-name-order.dts.txt | = 2 +- .../dt-style-selftest/expected/dts-extend-node-digit-node-order.dts.txt | = 2 +- scripts/dtc/dt-style-selftest/good/dts-child-name-order.dts | = 2 ++ scripts/dtc/dt-style-selftest/good/dts-digit-node-order.dts | = 2 ++ scripts/dtc/dt-style-selftest/good/dts-extend-node-child-name-order.dts | = 2 ++ scripts/dtc/dt-style-selftest/good/dts-extend-node-digit-node-order.dts | = 2 ++ scripts/dtc/dt-style-selftest/good/soc.dtsi | = 2 ++ 11 files changed, 19 insertions(+), 3 deletions(-) diff --git a/scripts/dtc/dt-style-selftest/bad/dts-child-name-order.dts b/s= cripts/dtc/dt-style-selftest/bad/dts-child-name-order.dts index 49c5c10c92d7..54be9f07b680 100644 --- a/scripts/dtc/dt-style-selftest/bad/dts-child-name-order.dts +++ b/scripts/dtc/dt-style-selftest/bad/dts-child-name-order.dts @@ -1,4 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +/dts-v1/; + / { #address-cells =3D <1>; #size-cells =3D <1>; diff --git a/scripts/dtc/dt-style-selftest/bad/dts-extend-node-child-name-o= rder.dts b/scripts/dtc/dt-style-selftest/bad/dts-extend-node-child-name-ord= er.dts index 575dadd03c38..296c58a545d5 100644 --- a/scripts/dtc/dt-style-selftest/bad/dts-extend-node-child-name-order.dts +++ b/scripts/dtc/dt-style-selftest/bad/dts-extend-node-child-name-order.dts @@ -1,4 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +/dts-v1/; + / { #address-cells =3D <1>; #size-cells =3D <1>; diff --git a/scripts/dtc/dt-style-selftest/bad/dts-extend-node-digit-node-o= rder.dts b/scripts/dtc/dt-style-selftest/bad/dts-extend-node-digit-node-ord= er.dts index f3ffc47365a3..813900e3393c 100644 --- a/scripts/dtc/dt-style-selftest/bad/dts-extend-node-digit-node-order.dts +++ b/scripts/dtc/dt-style-selftest/bad/dts-extend-node-digit-node-order.dts @@ -1,4 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +/dts-v1/; + / { #address-cells =3D <1>; #size-cells =3D <1>; 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 86b1de9bd654..e2eea0862102 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,2 @@ # mode=3Dstrict -bad/dts-child-name-order.dts:14: [child-name-order] child node 'bar' out o= f name order +bad/dts-child-name-order.dts:16: [child-name-order] child node 'bar' out o= f name order diff --git a/scripts/dtc/dt-style-selftest/expected/dts-extend-node-child-n= ame-order.dts.txt b/scripts/dtc/dt-style-selftest/expected/dts-extend-node-= child-name-order.dts.txt index e3d8fd367e09..b6e74e6f923e 100644 --- a/scripts/dtc/dt-style-selftest/expected/dts-extend-node-child-name-ord= er.dts.txt +++ b/scripts/dtc/dt-style-selftest/expected/dts-extend-node-child-name-ord= er.dts.txt @@ -1,2 +1,2 @@ # mode=3Dstrict -bad/dts-extend-node-child-name-order.dts:20: [child-name-order] child node= 'bar' out of name order +bad/dts-extend-node-child-name-order.dts:22: [child-name-order] child node= 'bar' out of name order diff --git a/scripts/dtc/dt-style-selftest/expected/dts-extend-node-digit-n= ode-order.dts.txt b/scripts/dtc/dt-style-selftest/expected/dts-extend-node-= digit-node-order.dts.txt index 525081867bf7..bf252e4d9815 100644 --- a/scripts/dtc/dt-style-selftest/expected/dts-extend-node-digit-node-ord= er.dts.txt +++ b/scripts/dtc/dt-style-selftest/expected/dts-extend-node-digit-node-ord= er.dts.txt @@ -1,2 +1,2 @@ # mode=3Dstrict -bad/dts-extend-node-digit-node-order.dts:21: [child-address-order] child n= ode @10000 out of address order +bad/dts-extend-node-digit-node-order.dts:23: [child-address-order] child n= ode @10000 out of address order diff --git a/scripts/dtc/dt-style-selftest/good/dts-child-name-order.dts b/= scripts/dtc/dt-style-selftest/good/dts-child-name-order.dts index d2a278763c3c..af0adf5abf70 100644 --- a/scripts/dtc/dt-style-selftest/good/dts-child-name-order.dts +++ b/scripts/dtc/dt-style-selftest/good/dts-child-name-order.dts @@ -1,4 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +/dts-v1/; + / { #address-cells =3D <1>; #size-cells =3D <1>; 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 d2bf5861c3ee..cdf3f91ebe01 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 @@ -1,4 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +/dts-v1/; + / { #address-cells =3D <1>; #size-cells =3D <1>; diff --git a/scripts/dtc/dt-style-selftest/good/dts-extend-node-child-name-= order.dts b/scripts/dtc/dt-style-selftest/good/dts-extend-node-child-name-o= rder.dts index 47fe5455edfa..97d468051f25 100644 --- a/scripts/dtc/dt-style-selftest/good/dts-extend-node-child-name-order.d= ts +++ b/scripts/dtc/dt-style-selftest/good/dts-extend-node-child-name-order.d= ts @@ -1,4 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +/dts-v1/; + / { #address-cells =3D <1>; #size-cells =3D <1>; diff --git a/scripts/dtc/dt-style-selftest/good/dts-extend-node-digit-node-= order.dts b/scripts/dtc/dt-style-selftest/good/dts-extend-node-digit-node-o= rder.dts index 0c292fefa52a..faf49962faf2 100644 --- a/scripts/dtc/dt-style-selftest/good/dts-extend-node-digit-node-order.d= ts +++ b/scripts/dtc/dt-style-selftest/good/dts-extend-node-digit-node-order.d= ts @@ -1,4 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +/dts-v1/; + / { #address-cells =3D <1>; #size-cells =3D <1>; diff --git a/scripts/dtc/dt-style-selftest/good/soc.dtsi b/scripts/dtc/dt-s= tyle-selftest/good/soc.dtsi index c60274469555..deec1a973c92 100644 --- a/scripts/dtc/dt-style-selftest/good/soc.dtsi +++ b/scripts/dtc/dt-style-selftest/good/soc.dtsi @@ -1,4 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +/dts-v1/; + / { #address-cells =3D <1>; #size-cells =3D <1>; --=20 2.53.0 From nobody Fri Oct 2 11:42:56 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 80A32280338 for ; Sun, 2 Aug 2026 08:45:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785660349; cv=none; b=jYVHMpZSXa1Teke9q3aMKrZ/fob3NoVwR7R6itUYaPxwGCvwI/Ue8Q61UrWZ/xByKaLEOgdrohL7xTDRh6t7ihIUgLNj/7VSMoeqh5vkPo5a+5BfRkJ9wk/m0L1nlm8WFpdV+KeJORV9YPj+BtqirnwcNac1Gxk6h4T/dboNztA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785660349; c=relaxed/simple; bh=LjkbmCe6vn81FFu+ZMtn1oaw7c6HMT27qU1FnMtVjvE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=tI2GymM5vjj7OO6DBOdjrcMgPjlLESAXDwf9z6wE6d4Ys5EgulFRdPdg0cYgOhcUIjSlW7TzSDLVcRmArXb+ba4zJTSYrgLn6sAds94qw7+cn6k3d0Mkp2as7ckwg91SZ0lroyOw+6NhIM5pOU579+RUrU9aMvXAK4NiJCDkf/w= 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=RN+M2ixs; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=RkVbwmv3; 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="RN+M2ixs"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="RkVbwmv3" 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 6727ldpU875351 for ; Sun, 2 Aug 2026 08:45:47 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= fnX+Bhb9Lb7raNVA3JPHSL8HRf4LFQTpLNpp44RNZTM=; b=RN+M2ixsnzx893o+ BZ7wXZw0Q5oE/Ga074srUFzOr38MqKKRPcK1fu92eCYc1uWlFhasS3Nv0am4I0GE glhCGyMs2sorWIfG7QhdMeqFNZYuT+ev2RgDeqPOMC2NFbRx8VOD0krsO/2QGb6W p9LDLidZndwjL38o+keKGKfSUDuBtdTVsfzDrkbhtv23Jzt6dG1BPDEmOfOTESE0 T09xR1SUYsxTcjvSITVu87lZhn3zu/9fPwwCn6IAw1O8vIKVssz9mr0yWR8JxCGI AHXfHPLuWtctUL/rx8fMYLumYoEYqgwDceH5HD3uzjDsV7lsmWavnB/b60PsqkmM e3SBsw== 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 4fsa382bj1-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 02 Aug 2026 08:45:47 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c0f0a0760so49105111cf.2 for ; Sun, 02 Aug 2026 01:45:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785660347; x=1786265147; 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=fnX+Bhb9Lb7raNVA3JPHSL8HRf4LFQTpLNpp44RNZTM=; b=RkVbwmv320DFYFzlG1r26QjxkvPK8qu6EvBi2z+YwnmsZ/mCupUNPSUCpdomSthmZ3 YHf/6vOVfo9rd+/PLLYhtELm/LazLc1GsJdq6w0RCLDu+gIM8FzIU8mdwsn2ysHx74mc FzLns2xMiFrv7CzfShCTYcSiHydLFR+AJdsRhXWH+XKavzZMD+6HwlEz3Upbonp93Cej hWOp5cYK9uE+sgtlgWePRVr3IlGpPBFArc7M8uV2HgaxSXRVZwTn3vfiX6VoQrfR8I6q V63nJ4VPCbDK/m++CF+cIK3FdUXRmmN4ctQfbEfNdP80/WcUwejkZGJ6bf7312KGAA7h MltA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785660347; x=1786265147; 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=fnX+Bhb9Lb7raNVA3JPHSL8HRf4LFQTpLNpp44RNZTM=; b=h9VWSYlLw30QKsjawPIznTrUQ64ZBFfCalj51e9aFTm/umfSB9FSBitMllpjMawTAd uuzD+TXEqU8+xvjeQZhkwJmCm0mRr8VKEVSh48mf9AEoso44loeSQ25oABYlT4F4Cmxc MFs6H1ZQsY4m4IHqrzxAW6xWY3g1Yc336QBIU9VGCuHsmb98yP1ShTkt8dQPGmTkF2NM oEcWu/LZ6DHiFPpiQeiHWHsB3CuC27bMSyTlvfXIVSxD6RcJcjGz3nzEw+rkzzva1oPj K7OmYKGuv7zcTXt7JZtxx1DpzXa+QrS2NIWVILc2r4CPf6uNsdPdnWa/mJ0HXAu5UZ/d iNRQ== X-Forwarded-Encrypted: i=1; AHgh+RrXKDCP/uEDmpXOf+2WZHJuotky1okhni9hJV7dy0XrxKrI9g92IZT8h6b3C+RhGmXCMNuufUQfQDAuSLY=@vger.kernel.org X-Gm-Message-State: AOJu0Yz5wBprRU8EOVQn6ZJGI2Du1U1urvzD8iNkFrUsZrrVEG3OrcIS XoDdJ3GIlxTZ/G5EZBGiE/6vf49pgLw8c09hWPv+zeyV9fIzSC++L/soHUOKqjd51swAQW/M5aM niiFPUcBE1u0OlB9OS9+A/4z9w+UVY4sPlAh99Bemmok6otrJ20vBBo2lbTiav6obXkMh9OpfTv I= X-Gm-Gg: AR+sD11EW7g3Y+PqQUIQ4DMAoAZmFYyGZemZHA6o4W//0L27GSD9Tg7cKzO1eeOaHye 2vM+z4dI/ixRsiF8K7rp61jgUYTV3jkXj/CGq4YQAR1oYt1IdyKKm9OAgYoGONjgD0IJT62ikJq cFHPcultYqA7P+q8VTUBp/W88eCpbdjDe7fJ9id0QYC23gFE2i/6H2E91Qo/TKIT8QM16HIMLG+ T0o1Cld+bT6MwmAolDpbfzPk+fb+2t3MpAEDnZhKbP188S+YHuVzNR7+WnYXY9z+3ScxNEZHABE 6y2vonleHs50aKn1d+yZpfdGPKNqGKCmFOtnTkiF4UAdroBvXn4TLq5pzX/U+SF7rJlPpLz47mm h2AVAY9URm0PD6h/IFEdO3k8m X-Received: by 2002:a05:622a:1f95:b0:528:3142:d466 with SMTP id d75a77b69052e-52b567cdee3mr116610181cf.41.1785660346522; Sun, 02 Aug 2026 01:45:46 -0700 (PDT) X-Received: by 2002:a05:622a:1f95:b0:528:3142:d466 with SMTP id d75a77b69052e-52b567cdee3mr116609911cf.41.1785660346066; Sun, 02 Aug 2026 01:45:46 -0700 (PDT) Received: from [127.0.1.1] ([178.197.223.174]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49808191ef9sm139198195e9.1.2026.08.02.01.45.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Aug 2026 01:45:45 -0700 (PDT) From: Krzysztof Kozlowski Date: Sun, 02 Aug 2026 10:45:24 +0200 Subject: [PATCH v2 02/11] dtc: dt-check-style: Simplify setting depth of DtsLine 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: <20260802-n-dts-style-checker-continued-v2-2-6c5dbd1ccfe4@oss.qualcomm.com> References: <20260802-n-dts-style-checker-continued-v2-0-6c5dbd1ccfe4@oss.qualcomm.com> In-Reply-To: <20260802-n-dts-style-checker-continued-v2-0-6c5dbd1ccfe4@oss.qualcomm.com> To: Rob Herring , Saravana Kannan , Test User , Krzysztof Kozlowski , Conor Dooley Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=5042; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=LjkbmCe6vn81FFu+ZMtn1oaw7c6HMT27qU1FnMtVjvE=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqbwOr+xMGJHJD8LHj5ZskrB4xdfmm7l4v8kI2A /s4tN8Z6qqJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCam8DqwAKCRDBN2bmhouD 13ZrEACREmeEmZuuA2LeEluiracxhINn/TSx0C9uzub5udvEmZR3UTVGVUoGMFlOG7pU+Sve580 odCpWfCybB4KMvFnD6KlG6gomNLDXJLxONzNEHUoYIrue8+2nHT0ju/lo1vapBcWeaBSvj2LDS9 drv1gUCryV7CbzrowqYS+Vub1cCFlDH3D6PBHTtPsnN0LEsOco8GPp9mQaKnuo/2Tt9YDoGqwE6 6sIYog8o6qas8iUhmB7Xe7TXnRCv0bfzokyYboTpEeO+i4Qk/0j87TVBe8b5vknfDSt9jEHthu1 j6Mt5oqFPlAjz3LdHbb6qo58P3CkG76i6FzY81noDQEpT/R80BZMXmYA6dixn5vTPS37mHGJSqU Juue42Y7gjprbXJjFS9boD7UsNHyijAYj8S/rqHPQtQdIePoT8mucW0NWouxZw+cjTVtnViY2b5 soZL30GZ/wioEsOMVookzyYVbkon2mLMBEspW1ygR/S4i9/e1j+/Txo7HbHxVEgDTjpIPo+7BY8 WHwoHh1y/hLfadw7i0d4SfZsDtUpUPCYm43iIrMzEDQcPgcMuiXEvzPUJJ1DlsRYGS5cvfC10YR kX2KL3GY08KMBr6ZJuvh2Set5zTK2fRnY/A221VMcw5aoh7Xy8zdQ0fFNUyx6IS7/WX2bWa0H8s WgKu/V1z/r0GkAQ== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Authority-Analysis: v=2.4 cv=KezidwYD c=1 sm=1 tr=0 ts=6a6f03bb cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=N6niishs+lR9UBL1FN3Qrw==: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=8sziXlxsN6MBhN6jAs0A:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODAyMDA3MiBTYWx0ZWRfX6vxXWchoCP8P xeCWcmKwsWvS6x8NRgTQbCt5TmNOQxbXyO+/l3W8tNuzPVVAL7y8kbue+ORRKi0GkgqNCKNsTSp 0IeGKp+jd9Kh4BpSqVkudML+a+Q5gvA= X-Proofpoint-ORIG-GUID: h266WqNVQFeVVy7kpU8iCFzsjBdNeP5C X-Proofpoint-GUID: h266WqNVQFeVVy7kpU8iCFzsjBdNeP5C X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAyMDA3MiBTYWx0ZWRfX/pmorjjaWar/ bDTxMy4YXMcS3sqq/Zsh661y/vGGNj03b5nUpldm4ezGlD1YQr3G7fr32vZLm4LgvCTXNo7FPNl Uu/uRkJrPFLtcEvBF0claN1fRPPS4qUWTfZ1AdYlZgNzi4TLDP20yw/+s7UcdTq0ciC3tMH5RDw STQt5+2RjsnQyhmrJdfzX/aSnki2QsWKzTvmSsIbNMXzdVfI1/4jAyW7igWZLYVZNY71na+enHa FGz5nMxJb8CpeBysFTq6jdhz1lW4d3tk6BFzZgOBtwnBewRGUf5fytYWBJFTsTRdYAq9dh2pDH7 5nOR9p3nyn3kAZIYDlpbJV8/LT4zd6AAGc6+zrmTaIyY3MAjz1P7in5yRi5kznWIPuqQiuCmz0C em0ljw7v4OgBysaitXJbN8nFt9yXmLhDDGGVNnku4x6FKbOg8UfsCknf8X2LsKHJnyMUgeu8kEY WsheM5ioYlQNmoRFx3g== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-02_03,2026-07-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 lowpriorityscore=0 suspectscore=0 spamscore=0 priorityscore=1501 bulkscore=0 clxscore=1015 impostorscore=0 phishscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608020072 When creating new DtsLine object, pass expected indentation depth as constructor, instead of assigning it immediately after, so the code will be easier to read and explicit (depth is not supposed to change during DtsLine lifetime). Signed-off-by: Krzysztof Kozlowski --- scripts/dtc/dt-check-style | 31 +++++++++++-------------------- 1 file changed, 11 insertions(+), 20 deletions(-) diff --git a/scripts/dtc/dt-check-style b/scripts/dtc/dt-check-style index 3985923622e8..96deffc0d8a7 100755 --- a/scripts/dtc/dt-check-style +++ b/scripts/dtc/dt-check-style @@ -82,11 +82,12 @@ class DtsLine: 'node_name', 'node_addr', 'label', 'ref_name', 'depth', 'closures') =20 - def __init__(self, lineno, raw, linetype, indent_str, stripped): + def __init__(self, lineno, raw, linetype, depth, indent_str, stripped): 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.prop_name =3D None self.continuations =3D [] @@ -94,7 +95,6 @@ class DtsLine: self.node_addr =3D None self.label =3D None self.ref_name =3D None - self.depth =3D 0 # filled in by classify_lines self.closures =3D 1 # count of '}' on a NODE_CLOSE line =20 =20 @@ -162,16 +162,14 @@ def classify_lines(text): # or a blank line). if in_cpp_macro: dl =3D DtsLine(i, raw, LineType.PREPROCESSOR, - indent_str, stripped) - dl.depth =3D depth + depth, indent_str, stripped) out.append(dl) in_cpp_macro =3D (bool(stripped) and stripped.rstrip().endswith('\\')) continue =20 if not stripped: - dl =3D DtsLine(i, raw, LineType.BLANK, '', '') - dl.depth =3D depth + dl =3D DtsLine(i, raw, LineType.BLANK, depth, '', '') out.append(dl) continue =20 @@ -180,15 +178,13 @@ def classify_lines(text): else LineType.COMMENT_BODY) if ltype =3D=3D LineType.COMMENT_END: in_block_comment =3D False - dl =3D DtsLine(i, raw, ltype, indent_str, stripped) - dl.depth =3D depth + dl =3D DtsLine(i, raw, ltype, depth, indent_str, stripped) out.append(dl) continue =20 if (stripped.startswith('#') or stripped.startswith('/')) and is_p= reprocessor(stripped): - dl =3D DtsLine(i, raw, LineType.PREPROCESSOR, + dl =3D DtsLine(i, raw, LineType.PREPROCESSOR, depth, indent_str, stripped) - dl.depth =3D depth out.append(dl) prev_complete =3D True in_cpp_macro =3D stripped.rstrip().endswith('\\') @@ -205,14 +201,12 @@ def classify_lines(text): # structural classification entirely. if not code: ltype =3D LineType.COMMENT_START if opens_block else LineType.= COMMENT - dl =3D DtsLine(i, raw, ltype, indent_str, stripped) - dl.depth =3D depth + dl =3D DtsLine(i, raw, ltype, depth, indent_str, stripped) out.append(dl) continue =20 if not prev_complete: - dl =3D DtsLine(i, raw, LineType.CONTINUATION, indent_str, code) - dl.depth =3D depth + dl =3D DtsLine(i, raw, LineType.CONTINUATION, depth, indent_st= r, code) out.append(dl) prev_complete =3D (code.endswith(';') or code.endswith('{') or @@ -227,26 +221,23 @@ def classify_lines(text): if re_only_closures.match(code): closures =3D code.count('}') depth =3D max(depth - closures, 0) - dl =3D DtsLine(i, raw, LineType.NODE_CLOSE, indent_str, code) - dl.depth =3D depth + dl =3D DtsLine(i, raw, LineType.NODE_CLOSE, depth, indent_str,= code) dl.closures =3D closures out.append(dl) prev_complete =3D True continue =20 if code.endswith('{'): - dl =3D DtsLine(i, raw, LineType.NODE_OPEN, indent_str, code) + dl =3D DtsLine(i, raw, LineType.NODE_OPEN, depth, indent_str, = code) parse_node_header(dl) - dl.depth =3D depth out.append(dl) depth +=3D 1 prev_complete =3D True continue =20 # Property (or first line of a multi-line property). - dl =3D DtsLine(i, raw, LineType.PROPERTY, indent_str, code) + dl =3D DtsLine(i, raw, LineType.PROPERTY, depth, indent_str, code) parse_property_name(dl) - dl.depth =3D depth out.append(dl) prev_complete =3D code.endswith(';') =20 --=20 2.53.0 From nobody Fri Oct 2 11:42:56 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 020313909B5 for ; Sun, 2 Aug 2026 08:45:49 +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=1785660351; cv=none; b=XJmi/BADEdw5PNW/Jw/lWQ/Lth4gMURdyNsIqum02+0BFm5FhwohkPhkdn/GulBdrIhTfnImsxYRSjQ+pUHLxdswCUzUgOehOCGYCJOdDWwkNsvHPYck4GcY8YGut3/2+R4hQ+WPsyrMPCbpcUwOdeTcB3pN7k1v/T4QEAfqLfc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785660351; c=relaxed/simple; bh=am9YiYspNqv8Or5TpjO2ccdLeK8bXVI9s3r+4hapet4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UmCObowNSI1sy27xW6bQSA1Kgs4zNliTxvHm8DoVqH+yDiV2NdCinj9nWtp7U9h1sLT9FzGZ238jclpd+GvSW1eNeqRnIoISzy3GSde9u9ScLxvYlUzoH82E1qmr2ZwT6AY9jWdQRZ43nxNY2oULEgE9snC6YKxolfiQHDwuvfA= 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=Rm41CPO7; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Y8JzHGxQ; 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="Rm41CPO7"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Y8JzHGxQ" 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 6727llq31080851 for ; Sun, 2 Aug 2026 08:45:49 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= oPuIPjhJGmX4YB/fmDXBUae4004dgC4qm+Vs9UKqOBg=; b=Rm41CPO7edauzIP7 njXr1ItT66zoweo2uoDH4TYQdWWvwBjVwvWoU3M/EboPfJpvURNY1VNLUTU9l6kk UXv6Q3NqoH9m3vNbIKaaC47PVhZwxfgCQZR9g/rwG56TFbFXVlFF7JNbPbfVAaD8 AzygqmFFMbhTUrZ1GemTRufjykKWud8FxImfbSXzBU/XZIgDwAqHaHQbkoE/cxH5 gElgTqiwypH/F0g9e2+3wC7YJpS0SjXR9eFnJ7cnYEu2dSyvv/1n3jUk4yZniH1m XIQxK9OZJTb+VqNwsZe0Ml1nKs1v5b0/0CvhgIAitvLkW6AqcpChUxci3tAooGWB t73fTQ== 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 4fs8r6jjkf-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 02 Aug 2026 08:45:48 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c083f1818so23122171cf.0 for ; Sun, 02 Aug 2026 01:45:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785660348; x=1786265148; 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=oPuIPjhJGmX4YB/fmDXBUae4004dgC4qm+Vs9UKqOBg=; b=Y8JzHGxQYxYfzTC/aa9C86/VirobxvxUvboKFrJUY2YaGLxsy2zgKoqxwJqfpWoUkJ eZG3jMQdtY+Gz0NGPZFrVbEz9aswBp+7H0Y8SQUjD+OvgGtN+8rwUk0F5Od069BjtwYv rnWQ5feII1GJ52AXSy8rLTdo9vCKFPZBc9WVlkj9S4DuXVirYyIPLK17rgG7gWozoYSr msEBvL+YefojO0V79//uEBCYGsVG+1DysVNqKS8dCg0zbe1jn4KrEfhQFJqDUUUx0BdS Db+eS3yfgCiBIJZ9Ae7d9t8+ptSdELx9/aFhT24DvpaU8Z3hCupbkqKHVf0MgOHC4t4s doSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785660348; x=1786265148; 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=oPuIPjhJGmX4YB/fmDXBUae4004dgC4qm+Vs9UKqOBg=; b=LnKQaSBedD5LUZCk4uKa/cRWdo3Ozg/kECjG4JUmIYLfZn/vGneGNSgzrraunqkssI RsC4mI235UGqe7eZoeD4vYHl2QIMqLCkZJQUPqcBA83QD74XHkMo2RBLYw+UZHLJjhw6 YZP8hIqA4tM8mIlCKtHKNzw55KQwnKFBCfBKwJTvgh5jDuylNs/JdjRMtTwyk2p5oZEc upOS5nEksq8J1zqTdWEJzBpmCKxmoGzKM7K6gPck7L+uwUFPdYPkznv0tGxqgFwp82Gf 4ghMFzjr7oBFpYZr0UI23kfWDKtfulqai6U/DdOdKamN73q64vhWoxYzADvRDNzvetE/ opZQ== X-Forwarded-Encrypted: i=1; AHgh+Rq3JDpbVwRjLwrMwnse/0pOHGvIy751igTgmW5couMJglUMqpRzqRWtiKb05VFBvsaztJD346/pOOcvzTY=@vger.kernel.org X-Gm-Message-State: AOJu0YzmzeVuUPe7fDLAR/CQZF80i7RX2SHvOz2wvPyV5z5i+W4DsCwP 2Edo6iL73NWp5jSNtklNSYeTvNdM6wm4FSmJI0GrfqI9NTeC8kWjccEhTKHenVvKnmU6Njff88Y 0hcOdQPzRE5GDIvJAO6Nvw/VA58FPbFUxqNUklHv311ERqltInP3gsIjGjk0VCqrvLndiEQU0gi U= X-Gm-Gg: AR+sD10DkDLItWFrsO/fKjv0CanTw9cttiVHWcUQhes4xgHSxSJRhmcpMYFN4epzm5R 7rTDmoPqAHyZszqR/ZVKWJoa3hWhOgm9jkOiX94Xiz47oa9HZnfSV4VdZF7KfaknRiGY7wUN/eo GJ0B35l4P+eUOGtor1tA9Xzkp3963NA5IXwV9Cp72X/+d/N2zalLtx4/tMZIbLM6u8I4/9fSFkE HLPXUBAKFsCA3Knm7ByzZPDN2l0JmJh3vxXrVdSnr5vdhPWAWYvnVe/5T5Hv10FtHhvnLUn286R 7/QpX5RLbiIdwA+1EgIjeV/CW2WTHb63zqKJNgbaP+Hs/bNF665s5PLs9vk8BsiBAlybT3Tsn2h tFHwdC3acgy/fiju9pLBVSxzw X-Received: by 2002:a05:622a:141:b0:51c:7d0:7ed7 with SMTP id d75a77b69052e-52b567da7acmr119891611cf.39.1785660348221; Sun, 02 Aug 2026 01:45:48 -0700 (PDT) X-Received: by 2002:a05:622a:141:b0:51c:7d0:7ed7 with SMTP id d75a77b69052e-52b567da7acmr119891461cf.39.1785660347817; Sun, 02 Aug 2026 01:45:47 -0700 (PDT) Received: from [127.0.1.1] ([178.197.223.174]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49808191ef9sm139198195e9.1.2026.08.02.01.45.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Aug 2026 01:45:46 -0700 (PDT) From: Krzysztof Kozlowski Date: Sun, 02 Aug 2026 10:45:25 +0200 Subject: [PATCH v2 03/11] dtc: dt-check-style: Handle root node in overlays 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: <20260802-n-dts-style-checker-continued-v2-3-6c5dbd1ccfe4@oss.qualcomm.com> References: <20260802-n-dts-style-checker-continued-v2-0-6c5dbd1ccfe4@oss.qualcomm.com> In-Reply-To: <20260802-n-dts-style-checker-continued-v2-0-6c5dbd1ccfe4@oss.qualcomm.com> To: Rob Herring , Saravana Kannan , Test User , Krzysztof Kozlowski , Conor Dooley Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=5007; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=am9YiYspNqv8Or5TpjO2ccdLeK8bXVI9s3r+4hapet4=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqbwOsVMVOwkNXptWuSbKgfKrqiVfWD7tePV1yK jbLEUZzNkaJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCam8DrAAKCRDBN2bmhouD 1zQCD/96v0RSoqzg/dWvdDv3qY6yc/3S/XbBexATgXJFWGDg0Tv11ib8N1Q90oBwpznbGTUY/6Z SEkl8n3jObfEOi5brEupK+if3xOG9p9OWK1q3FBBvV4iX387dEXt56VR9l+ItoUKwpDHdURr6Cr 0txRtcSAewnPH0QftYuYztX4HgNF4ByvuF9XejcJ4jrYI093zhG3as93V82FkkONTlh8Uy88YLf gz9yRjaXA1H//HEzFbzbcs2neVokQLzeuRFNLd3jmJqayGKtT5RY3OM5F8eWWtm2SnV92vh93GU yZazcUOaKrOBbskboAArEYpYHrnp57CpFiMBVflL4/rTR5/vIfOE5Yq7mNaonP40EHl3A8D7Acm WpmR99YxVTW3FiWB03AWExLjmMTsSM9A5nJ3MvXiqSnBSF8+pkB5EAnaleaiYfRnH7L3KoYHt5s Zj93vGlL9FQx/qxLTTwMu85N16oDkSgDimqu4iFC+0C5PTwuTP9gjgtLvXUvDOxL0u8d8sdZbMW nT2tDYCamhDu4l9VeUTnXdJJQweWCU/i3JZ70fZRJnBMT1h4v8tLLD/L0NQiM9diCU5IjB9ZgkQ hk5b2kGoTgWqZjRKHn6Cx3OJDjkX32kft5n2+U/cQZ9zQiBjg/rH7eiT/af8NaGAMbHRNK3E1cR MgkdWDYzT2LE5dw== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-Spam-Info: AW1haW4tMjYwODAyMDA3MiBTYWx0ZWRfX4HBcO8ZX3drq gtYHV9QEnyNLZHBhPz8tIIKaYNNHmNELAw28sJInA+S+bNN++nk2iUToPaGqgcwnqIaU/C5GqG3 5VdbZWPMe+JvcJQVAnb+h70IMZNWS+o= X-Proofpoint-GUID: HmhypiEvsjy0JkOGgRN1po9SN84BQo_p X-Proofpoint-ORIG-GUID: HmhypiEvsjy0JkOGgRN1po9SN84BQo_p X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAyMDA3MiBTYWx0ZWRfX/f2VHW+2FEcH mGQKsMVSTPA5VT7Dk5x/FPpYzKI/S2988/C84wlCPGDx3qG7RpUCiShm5V4ae/WGXDbWTivhirX wW2x7AYlk2yW0UDPgjCwOIkhBhxd1I7j4Ce9AjCmUlc0CyfzFuMWImMqH2TnhPpIQU95UFPcaVY lGx6nEavMwduuBiitiRohKSfvRzzr4f63lYfwZVTPD/CXKmfXQfYLpR+D3cT4kVI5Jb4ULU4FG4 SD3hKrQAgMwWU9hRlEBgavpIVUOkgRg7cfcSvlBjEZPwg5gGDYSyp2o6+oQtaMIIJIG4gCJYx9b 5j1nZMSIUPcSjzGD4FBJ1WHPKxtH0yubHLNL93QlrE8TrVFb5wIiALdInoeEIxseZ+EblOyrysd ejCdnsAyXUNB+xQfJtaNu8ZJ4hT4RskJAwgSZ1D9wjLDuMJLPv+Kvghwz21NwrW5UfML5QCnz7b mda0Ehl7UVQERmWmDFw== X-Authority-Analysis: v=2.4 cv=Q5ziJY2a c=1 sm=1 tr=0 ts=6a6f03bc cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=N6niishs+lR9UBL1FN3Qrw==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=OYAFLQbGvi7cyiZzXxkA:9 a=+jEqtf1s3R9VXZ0wqowq2kgwd+I=:19 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-02_03,2026-07-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 spamscore=0 clxscore=1015 impostorscore=0 priorityscore=1501 suspectscore=0 adultscore=0 bulkscore=0 malwarescore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608020072 Detection of overriding/extending a root node should be a bit more complex than comparing node name from regex, because overlays use often '&{/} {' notation. Check for expected syntax before creating DtsLine and store it as 'is_root' attribute for further logic. This fixes false positives for property order for root nodes in overlays. Signed-off-by: Krzysztof Kozlowski --- scripts/dtc/dt-check-style | 14 +++++-- .../dt-style-selftest/bad/dts-property-order.dtso | 49 ++++++++++++++++++= ++++ .../expected/dts-property-order.dtso.txt | 7 ++++ 3 files changed, 66 insertions(+), 4 deletions(-) diff --git a/scripts/dtc/dt-check-style b/scripts/dtc/dt-check-style index 96deffc0d8a7..1937c6feb57e 100755 --- a/scripts/dtc/dt-check-style +++ b/scripts/dtc/dt-check-style @@ -77,18 +77,19 @@ 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', '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 @@ -228,7 +229,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 code =3D=3D '/ {': + 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 @@ -550,7 +554,9 @@ def check_child_name_order(ctx): for c in children: if c.node_addr is not None: continue - if c.node_name in (None, '/'): + if c.node_name is None: + continue + if c.is_root: continue if c.ref_name is not None: continue 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-property-order.dtso= .txt b/scripts/dtc/dt-style-selftest/expected/dts-property-order.dtso.txt new file mode 100644 index 000000000000..a78b8c042aa5 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/expected/dts-property-order.dtso.txt @@ -0,0 +1,7 @@ +# mode=3Dstrict +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') --=20 2.53.0 From nobody Fri Oct 2 11:42:56 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 E9677376481 for ; Sun, 2 Aug 2026 08:45:52 +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=1785660355; cv=none; b=g5zdLtB0qFqtHLv0LOUo+IO3I5M7DFYZCha29kBRrBFgxCztPw1a32enp3T92GwRtvyhKPj7FqbtFPEOJRGWfuuXMEaWKR4WcNa0em7BPLrTIZ6aLyEFzNFKFN+DVEFW0Srya8Z0hjOiBZfhfZjn6iO+7zoBMj60oHut/dYKS6o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785660355; c=relaxed/simple; bh=1ohYjM0kcqQXFf/ASBsJHZYihajw/hCKyDfmALEWsBE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JZLnrKQWBM3bPZf6rLpJoJIVj4saP2wMghLZFGjMBFquXnTcRE5MO+EYp9iABnACxv9OBTUMYRdaXgDEyhpa4OWR9+btHp04BkcIDxfgyow0bNOJLjdDYpOYRwzc05+MMufIaFXVLL584enE+/yNCWnBcxKTUK8YJID+uluAi3s= 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=m0ZnKKUv; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=XIxjLLTq; 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="m0ZnKKUv"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="XIxjLLTq" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6727lVCr2271749 for ; Sun, 2 Aug 2026 08:45:51 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= E65DB6RMGvAetunXW7GsYIROhDk8tolV7VS8/HCkqVA=; b=m0ZnKKUvaDHqXGPC +8lwI2rSHtzFonuvDQPiHCPGrNk5oIEwV1IR285jVwbsokBq4bi2rVmwKujQ3fTa tYESIpts49l8y+Yxm9Zy6SxkaGEZb5pRwHl0wqIs85lD/IFS6Wtg+sti4KN05Tjs 6SccvuGNTw/1Qqhs3LJGQm/UlbXQ33rQoIj6AqaaeT4S1d72crTVU7PyYFgv31qU ZeNe039oAEbaDl1Wm0wu8Yg71jepNWWu2Yuk1pIWrQi+fcYbOpW/O5BUSoivDYQ8 jL4MiLv7S29fzwkJQbzSc8RBZavdavWJNJSWXaoVs87OU+72tcPRY3voJGn+fGX0 MAdkcw== 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 4fs8pg2g6g-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 02 Aug 2026 08:45:51 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51a8db414c7so33917571cf.0 for ; Sun, 02 Aug 2026 01:45:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785660350; x=1786265150; 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=E65DB6RMGvAetunXW7GsYIROhDk8tolV7VS8/HCkqVA=; b=XIxjLLTqPr6U1wc52AgXFlpKxfneXOqFFVQ/3bE5LhL/LEnV7Wlj0/A1ccTpL+t+PZ 3eOgaxYcBo9v+CC8lec2408cSozXSvTGAAEDQKPgX21ZzUs/kQA4P8c0HfVQu6sDum9J Suo7QCLs7o6UkWV4s4nCkNJg608dP2I9fnI2Sycsloe6LZEvFaXFLo710v94Qkri/Zoi 4HAVRyqr94xeSSn/kMGv/kNuJqS3UxB1jc4wo/FhIXMqJpDw6RgFMjMZQ23J9NDilJyb zrwdR79t3oDvAkBkTG10xkad6bnw0apnh4KGXj4au+eDc83tOj+DXLvQUOqO9jeXVQ6P IwhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785660350; x=1786265150; 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=E65DB6RMGvAetunXW7GsYIROhDk8tolV7VS8/HCkqVA=; b=S4A6pRLpnBtCnrw5yEyKQRv/dBj3j1GW3aY4nZxk8cgB8R3q8MXyASPzHx+TckBLkG Z7c6QjPv8QHejpXpSp8+xLJgYkhm7ftQBpZiwpnXSMyVAw91IKkgGUtdWE8TytYIakTt 9EgpilEgzSZjeCxQ6UuN4WKvIrkUCEOrYJ6E4LcBrTynQ8kF0K/aekxzLscjYPC4Q6Fu RM2zxdFE2Zp35zqcYab3DHqTtBOWMhx4fe9foe/ZJJo0WuocFhcMGm+eTsvpj4PgQuct y5B+BVkrJ2Pia15DBPyN8QVE2v33UU+NgBh/mI884XgxV3j0yvhErhgnf46L7t4OeNO3 P9bA== X-Forwarded-Encrypted: i=1; AHgh+RqhmeLwxNZ++iGWCsbFpJPBhhm/1meVpX+qkYBcFcovrOQcNrW39d2B/Dr8ANE/i5PSn5HC4L3gIe/gfFQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxFltTeT24lMW140vDZ59JZ/70r8DQ1Xc28RjjSqEh6Y9IqxKCd lV5NAQUhO1STrir2XD2ENh83Sc0s30cCePIVqwHS6ujSXyJnCsvyyx8GljcguRR+uGeqC82fOH9 uIK/SlCJ5TOdLMcl1AxuTuNk4u2lo/37633Czx5Z1EIltS08maHn6YCVfQEvLbrBz0SY= X-Gm-Gg: AR+sD11gMJIHgF0Ad7KR6HEINjfZ9vsjrwMaLIfQyytMtEtzVeCvyWGmMVtPr4BacMU LMqepFxY8khW/9+vo51w/JMYoVuiemdTzhqHM0WpOqWS8H+tr+lrkKu74OXUyVSHU/2DASofxJ/ +N2r5X6Pez0PbuwiyRpT03Ka8OiuxY5gPG3IZK9mB8PuCCvQjCag1BxkSGY0piAXV7yAQaIYOvw 7DswTlY4sefoOa906CuZvakOTax6QFy1mT7Nv9+H8lgQAE+q75E6g+MR2RH8exy+aXFGG/cv9Dc vc3gQyln3iwZgpFpPe4elODkgXFQwESkcYJZlq1VSCk//KyxIJ7yEEmq9pv5Y3Nz7f/ikpS7QdJ +p9mPeYt/NEUuZglbfDEPBB5t X-Received: by 2002:ac8:5f4a:0:b0:517:9570:c1bd with SMTP id d75a77b69052e-52b5673f0f1mr111125321cf.25.1785660350286; Sun, 02 Aug 2026 01:45:50 -0700 (PDT) X-Received: by 2002:ac8:5f4a:0:b0:517:9570:c1bd with SMTP id d75a77b69052e-52b5673f0f1mr111124991cf.25.1785660349670; Sun, 02 Aug 2026 01:45:49 -0700 (PDT) Received: from [127.0.1.1] ([178.197.223.174]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49808191ef9sm139198195e9.1.2026.08.02.01.45.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Aug 2026 01:45:48 -0700 (PDT) From: Krzysztof Kozlowski Date: Sun, 02 Aug 2026 10:45:26 +0200 Subject: [PATCH v2 04/11] 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: <20260802-n-dts-style-checker-continued-v2-4-6c5dbd1ccfe4@oss.qualcomm.com> References: <20260802-n-dts-style-checker-continued-v2-0-6c5dbd1ccfe4@oss.qualcomm.com> In-Reply-To: <20260802-n-dts-style-checker-continued-v2-0-6c5dbd1ccfe4@oss.qualcomm.com> To: Rob Herring , Saravana Kannan , Test User , Krzysztof Kozlowski , Conor Dooley Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=13857; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=1ohYjM0kcqQXFf/ASBsJHZYihajw/hCKyDfmALEWsBE=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqbwOtSmHcUFmGqNR70K2f2lvAcdqe1+dlmhJCv BGqvfa3LSSJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCam8DrQAKCRDBN2bmhouD 1/MBD/9xrPwvoSN4K/nCkc6VlLzGm16TLXuV+w/5sNML62v0uSr1AT5DyM8qztumq9dKXSosbh+ QlW2yHO9O0BtNuNxncq4AbhXKJfBpfu0rx9VFweeW5//ZPlbu+nplZ3h2dsIPJsOCJcIqGvS0PZ vjpmtOR3mDZv8ypzpczpoUi2aFPbfAWCkmkG7LOP9JVj+Kl4J9WjXw5XuQtNeYH51EEs4spoKBY 0T13iJSFQvsu3HJzvuhcGRReBh9l7hsQ7U7s69B1oHq0nQ2ViBbQneCi9PSXbFzT07KlRQRBaVG hxvrS93ataTm7qRCrRaXKnzZX8DHBSG4IImh8uC16CTjQkY2M5RZlN4GKTePRbSTm6mRl8CVYLZ LXABanEUb4yhHLTx0sWaRhYKfGexTnmL8tHgKN9WWsSVbOOr/win3r5Vb8SXqkq/oeKSXEpU00w QZt++3iwRGzGQK4AbrEIEYXnv1dK32Oiy6sybjrDqlPZo1O5hraqnoqTC9XUjXFKSwgHD1QbOWT SztvUOzpJ6GFeUwD9XBgtcNcymFQstztsHOv8nCAriT2iJMp7eDsZT3jh5oZhoOoV7yMhtKga6Q XeR1ZmYWV8HFfQYO+5TvqJHZ5JU98MXBiMWrOfghY5hf1yaztttnyi/y9NO7BK7OqDB4nCuNQeI hcnCTOqS5m/KPSg== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-GUID: LH1O3xXtjJ6FPTRLuVKExLGtT61Wf92X X-Proofpoint-ORIG-GUID: LH1O3xXtjJ6FPTRLuVKExLGtT61Wf92X X-Proofpoint-Spam-Info: AW1haW4tMjYwODAyMDA3MiBTYWx0ZWRfX47+eiDm5VG11 KvUU1oBro+9Dwr+yg+OCy6OOgm3KZtDiD89P05SEbaPpxaCk8SF9eobNQAcTprbno1rq4tazF6C GFZDivcohLeOSTj5xfVm1ntxrIsVj/k= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAyMDA3MiBTYWx0ZWRfX+VRCW4/milIt q85ZD6rs/5o50TAyi7EA/D9Unjpg4L9TfmG7tlcWqPFyVsz0zAeWZWeNkeBUwId1ilWYArvRfxc e5OhGjwwRvpz3AHvQ1NLV8Q9fWzWU6INxdeFjzvC40+3UfdgvS/ZnyzvJki5NIBwOUvYa184vTP gFqvQYnTVNkP9E9Sl+yr1kEhabdeaHd0iPYaGwTizCBbk0ndtoz9jrlZTXYd5x51IjvfSTh5kiY dxpJmeHxcuvDSnBQGzWylVjsS/3Iob5voGW///XApo2IweKeQ4lt0subHvJQPyDKZiYiJiP6TYr 7DETRim/3xeXLhghmE7mzY9N8h9jVk6HD9tGAhaqdjsbNTn6+VAQNKYvmZdppTRxf5kquq4hhOA gnaB1FE8WO8yaUCx80kHlaBxMAFclrYLEUpb07ZID9S0b6nMBWActzn1e2aauIpdueZzQneylUI bbvGhfVIS1ce/IHL3Xg== X-Authority-Analysis: v=2.4 cv=U4Oiy+ru c=1 sm=1 tr=0 ts=6a6f03bf cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=N6niishs+lR9UBL1FN3Qrw==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=EUspDBNiAAAA:8 a=nicHA5mNOroHdHr2fLUA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-02_03,2026-07-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 clxscore=1015 lowpriorityscore=0 spamscore=0 priorityscore=1501 bulkscore=0 malwarescore=0 impostorscore=0 adultscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608020072 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 sorting by the node name, not the unit address, for the top-level part. Also the properties have one exception: 'model' property is supposed to be before 'compatible'. This cannot be applied to entire DTS, because sound cards have also 'model' where it is supposed to follow standard rules (after 'compatible'). Root node is just special. Signed-off-by: Krzysztof Kozlowski --- scripts/dtc/dt-check-style | 60 ++++++++++++++++++= +--- .../dt-style-selftest/bad/dts-digit-node-order.dts | 40 +++++++++++++++ .../dt-style-selftest/bad/dts-property-order.dts | 5 ++ .../expected/dts-child-name-order.dts.txt | 1 + .../expected/dts-digit-node-order.dts.txt | 2 + .../expected/dts-property-order.dts.txt | 12 +++-- .../expected/dts-property-order.dtso.txt | 1 + .../good/dts-digit-node-order.dts | 3 -- .../dt-style-selftest/good/dts-property-order.dts | 5 ++ 9 files changed, 114 insertions(+), 15 deletions(-) diff --git a/scripts/dtc/dt-check-style b/scripts/dtc/dt-check-style index 1937c6feb57e..6a05929836f2 100755 --- a/scripts/dtc/dt-check-style +++ b/scripts/dtc/dt-check-style @@ -79,7 +79,7 @@ def is_preprocessor(stripped): class DtsLine: __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,= is_root =3D False): @@ -96,6 +96,7 @@ class DtsLine: 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 @@ -495,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: @@ -525,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: @@ -548,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 is None: continue if c.is_root: @@ -597,6 +616,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 @@ -633,13 +676,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 @@ -674,7 +720,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-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-property-order.dts b/scr= ipts/dtc/dt-style-selftest/bad/dts-property-order.dts index f31abb6ceae4..eb8b8b29fec5 100644 --- a/scripts/dtc/dt-style-selftest/bad/dts-property-order.dts +++ b/scripts/dtc/dt-style-selftest/bad/dts-property-order.dts @@ -6,6 +6,11 @@ /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/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-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-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 index a78b8c042aa5..124183fab2ad 100644 --- a/scripts/dtc/dt-style-selftest/expected/dts-property-order.dtso.txt +++ b/scripts/dtc/dt-style-selftest/expected/dts-property-order.dtso.txt @@ -1,4 +1,5 @@ # 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') 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-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>; --=20 2.53.0 From nobody Fri Oct 2 11:42:56 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 202FC390CB9 for ; Sun, 2 Aug 2026 08:45:54 +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=1785660355; cv=none; b=JKR+tV5k/SL+1hB8UtN8vnEpup3v4Dao1dy2U1AE3q6Qm2KHYAvJ8srwiWNFUCm3ZJgw1GcjuIT3/TeGXcC/CT98m06ApSRBjjy5qT2SDbA/H+f5hWhVbpUwLhU7nUNpcIy3h7P8yUu3DZ4XNpoC/eFjRxLpNWLUwFspAxznMPo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785660355; c=relaxed/simple; bh=3d6JoHnwLLBMDi4qdXJHd2hTgp9SSsMvpq5g9Qu/wW8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=XpgZuQsUhLNiVLkoAaa2tZl9jyTknI1L9CcamfJ8Mr+/3ba3tFjSiMGLOxj+5R3WjhLL9JJlEIMN3I0GVWHvChb3o7UBrpANZx9Q4pA8Eb6SmzgQIGpV1ItRVEbN8G42ilPZmzj+vkDkxxWA/XwtldO9zCsAy4+WpL3Xnj5ZVhI= 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=OqmnhXAk; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=gLNcOJGw; 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="OqmnhXAk"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="gLNcOJGw" 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 6727lgiw915731 for ; Sun, 2 Aug 2026 08:45:53 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= IdfkPZMqPXPoIik8eTTmpCNYgii8gSMH9EZhR5xzM5A=; b=OqmnhXAk4J7kpPEF yJwEWdWhdyG0dUHkgolJQNWCwgW+YWrYvx7SHwSTPWVCSpAA/z4YeZRo4eNtzmPu 2SfyGIraG6BLK4GcWKTHPEyQGHkYHE0CTIjSGVpm+1jP7vEPtQToUw/GT90ASgrt ffId7VoC/AVncGyPWIQXWV6FNy4qRzBHeA2iF3KHHdqy8rFkCawJC6aO9P+JT6cp NFRuEUa+WHYEvMYPsMuSvIAfVaGxIBZ+rSmAQNixx1UHuWxjeoUQLQMN4OR4z5/j esczF5tQraNW5rX47v8NkhUlpUSLoP3qIkfEThc8tAzRKU1xZUowfr6No5wqLoJN qBaJFw== 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 4fs966aftf-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 02 Aug 2026 08:45:52 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c0e702df8so24396961cf.2 for ; Sun, 02 Aug 2026 01:45:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785660352; x=1786265152; 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=IdfkPZMqPXPoIik8eTTmpCNYgii8gSMH9EZhR5xzM5A=; b=gLNcOJGwdExzWAr2xTBOMhRWaOOcNnjIXFyh00ZWWd2hd829BKA1m+5XrVp+7TR+gv BN4ZRb+9MExFTUb5gM6rqkub0BBCCzjr96mRfSYQS11AfQ5MB2nzWs+z2IEun4Whi4E/ 657WICGPizNIJDcj0raL2W5Ctd61bGxFtsnorF7j29pm8t4hzp3CNWqzqVb8S6q8fPWQ B67jzoSaDY03qra0pZ/1JgcWPPN0VXGc8sdxZajIeVZUChgsVZBBGzWIL5pz6iytyegB ir5QhlADtiNEyWXC1vZPHdAlJXY8h3mC48gL35yDvkYhb095Pq9w1qLXs0vxBLgSFLQD kg1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785660352; x=1786265152; 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=IdfkPZMqPXPoIik8eTTmpCNYgii8gSMH9EZhR5xzM5A=; b=gk8ASMwJ/AWdzK6j3oZJWg9z1fuKimPvuAG+FAp1Dwe3r18KAXe3YoAL1wM8fwU58C G7wOekabDHk0MY52gxVWSoBT6j3DqJHVVQNJuB5ZkhHdOtYmaR9HNepVsRZ2E23QIvyE C04ITkrKJdNrNejtBHWM8qSGH38gOulRa1c88wxRKZEgdbgYSmfJNWClYewmDk72kvD0 0epvlL4maPThL5HvvzzcxGbbKrwNEunIpcynGIITFmlESl8Qb+wliHdwJdTLmP4Q6swt sb9hzsv6FrCT1j1BzyfXJpiKXS0nshTZKUbqP7BurHZlzPRoN3OxrWRgtS4ULiZPsS5Y v0AQ== X-Forwarded-Encrypted: i=1; AHgh+RqO5frtIlp8sVAs97gJE8pdBIS5Q39degpaFj9EExZUrynVSNFUKtQrobr1a6qSjeq9wp/JMQ4TJqjWMSo=@vger.kernel.org X-Gm-Message-State: AOJu0Yz9++CyMw2xljMfnxi6K8kJOhTWRPFQSipfTprLJYYgCVWkGqVN 3TjHfFdKQJpGYn636cXFaWwcwi2xiIpkAhxE3Hlx+Yp/g7zjS5j8lDRNcqAzOwL9PRgYptV9KZ1 sbNs2azQPatElft6Jm/hGF7NlFNP/6Hswv4vkYfZjdH5aiknfkxR5dLpTKVdIhxXrOiw= X-Gm-Gg: AR+sD13oy71b+M+m9NzvO3fMC89JnLsNeUB8S19cuGrYDdr+Le50DRHjrGzysuytAPx T5j4dzTjM8IJ6mpo0RPsYINHY4yFowSdRsd12htJngCWSKeGUyqmOz8XEVgFMN9SfNg1KhlT059 3bwehWH2lWJWUi3JrXgDqGthTFCPWVjGIJUCFqQ7e/PUZU3FJMnA93BbEyFa454Dcw/Ec6vrhpP 2L+wnLdG9mCj8q1SdxDRazxzdx5ZkqCZ8hhEWiosmlsrceiJBC5BynULTzmN06lgKdTbehT0+4G u6GqkzXggqok3Qo5Jyv++3tglY4u/XmA19Bcp4/9vsKA1fSbTq6HSA2kIjU4CGuGIAYtWAuNo+N J7Q4AsWbNHH8mvPQ8jMWuCjGj X-Received: by 2002:a05:622a:400d:b0:517:8470:2d2d with SMTP id d75a77b69052e-52b56794481mr118044251cf.29.1785660352275; Sun, 02 Aug 2026 01:45:52 -0700 (PDT) X-Received: by 2002:a05:622a:400d:b0:517:8470:2d2d with SMTP id d75a77b69052e-52b56794481mr118043981cf.29.1785660351716; Sun, 02 Aug 2026 01:45:51 -0700 (PDT) Received: from [127.0.1.1] ([178.197.223.174]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49808191ef9sm139198195e9.1.2026.08.02.01.45.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Aug 2026 01:45:50 -0700 (PDT) From: Krzysztof Kozlowski Date: Sun, 02 Aug 2026 10:45:27 +0200 Subject: [PATCH v2 05/11] 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: <20260802-n-dts-style-checker-continued-v2-5-6c5dbd1ccfe4@oss.qualcomm.com> References: <20260802-n-dts-style-checker-continued-v2-0-6c5dbd1ccfe4@oss.qualcomm.com> In-Reply-To: <20260802-n-dts-style-checker-continued-v2-0-6c5dbd1ccfe4@oss.qualcomm.com> To: Rob Herring , Saravana Kannan , Test User , Krzysztof Kozlowski , Conor Dooley Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1667; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=3d6JoHnwLLBMDi4qdXJHd2hTgp9SSsMvpq5g9Qu/wW8=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqbwOuateRzDFPvoPHdMcWfcLmPo16YzeaJHpiC DkvFdaw2uiJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCam8DrgAKCRDBN2bmhouD 14CVD/9y4bEAZlihN8XvU0E8kYcaHwJbkMsG/7sRecKOhK0/ecYcJCXv9YPnEucqKNyvG3H/HsV ArVHHCC4zt2cdGIaOapK7pZtDO54pkaSPrCT7SOzvPwNVaPm0tB9U9mwZ14+9mP5OXXBpwOchVY J4t0xrE+L5DM1AkAJx18dcCyT5CDROz2QD0kYbUBWgK5FwtzNmi2dumstm2JRT4nYU0k83GVZzA sfKiK0XW4QNgz2jMMdvRagIyTr3YkOfxEfm7zfaPnj4CtIp+/E/vEHHLtI2sKzjUv9iyBNE1e8w xYu4RQx8bfvh+LEbDwBV/3TQfMsdYksCb/pEBME8st7DuOqAURwpj09gjl9Ct6jM8X9cN6d9WN1 n2Ao5eQ0dq/yT10Pl79E4RIivhVXNL7QB1Wmo+8VI8NdJDzcwA8vk2jIUVxz8FfnFcDp8/21L3i YBYZaODb5xSlE/5lpbN41sD/7a0VrAAqFJrQDKdL30BFaveuvdm/yH5UwpT2mcN1EHXcMMwQ/CA ftpJN2zHN4ge18h8y7Rw1A9snYhHpKKhUu/sXVhxzdJKKA7ReuMBYw9xgyLNYXEIaDhh8MzyfQO 1EG/nc1KeZflEOzDEsr3HkfoQK1N2Y832S67zd+yue+CKYHUIPH36mWUH7bhTLY97GPYMJ+h2Ou kpHjnx4unglHeeA== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-ORIG-GUID: C116RRJm2g9pWQFWBJfAkiA8I549v7Z5 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAyMDA3MiBTYWx0ZWRfX8BuAZT6PzIUb YMqTOnrsHfNctJUegPUNNwJnMncmvfxOEOMYO+bh7ZmYDm1xbKntJYjK7DLuLDyV+LbgVHoyhKH q8uwqVWuj2ZJPf8X0jWa6XorhGOJ6XMGOj8ryb4J50CJJEuRjCcVh9hA7RyrLBDFLwqSBhOM5Kk /nGb8XZkdTgWkrPJkGwHWoyo3DDZptIP08Caa7aFnRDjnMSGbvgVP/GYgNXG3m1xGf+QL3+2mdb T4VfdEzkRgNidIjx7n/5pwYghxJxNglFf+1+1ovcDsa6oUqrBuYZDDcTwy0TgelwlOaeQjDfOXC UrQ7TtAFzdr8WXAcKNFOfJpbbD3bwEMMvQiAbBNh1+AiMG5jxgwbu9Q3X8SOxs4fSfnNICOzO7C RBQkptlUlKmK9bzvdK/p/rFh/5xwW/bIDlM8ADeWvF4DHDkDp0asG1Ng9qVgLEbvy/tUTLNMxMo X9Q8wgKaY4byG+eKsRw== X-Authority-Analysis: v=2.4 cv=TpfWQjXh c=1 sm=1 tr=0 ts=6a6f03c0 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=N6niishs+lR9UBL1FN3Qrw==: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=oYyeLu5mwHFlQtcaYCQA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-GUID: C116RRJm2g9pWQFWBJfAkiA8I549v7Z5 X-Proofpoint-Spam-Info: AW1haW4tMjYwODAyMDA3MiBTYWx0ZWRfX5t0ZYZCVkysn zVlm5xUDLR0Bc/KkLV2oXSysUTraqvGb+T2eHs9F1hvGp6nd6zn8WfJ2uj+eSFDrm6kMMOUFx+q F04ulChaFpq5y0x6c2fUwR9iNc4MXRA= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-02_03,2026-07-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 phishscore=0 spamscore=0 clxscore=1015 suspectscore=0 malwarescore=0 adultscore=0 bulkscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608020072 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 | 2 +- scripts/dtc/dt-style-selftest/expected/yaml-cont-align.yaml.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/dtc/dt-check-style b/scripts/dtc/dt-check-style index 6a05929836f2..04247e39a78e 100755 --- a/scripts/dtc/dt-check-style +++ b/scripts/dtc/dt-check-style @@ -950,7 +950,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): 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 Fri Oct 2 11:42:56 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 399A83911CF for ; Sun, 2 Aug 2026 08:45:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785660357; cv=none; b=QXfu9FILzDtAXYAJkktwTeSOpuMa/Jp3MtJhbrRtDcqjZ9n8pACGr/N1jsAeVMVeCZYClJXFdXI7eNQDYaHjh7X2O0j48PyNOwFEv3u0IC5VodV86FibzTpbgzQZTXSO6gmBcQMBqNFf6dX9+In7/yrk0tvemb/9eHPh37PP2b4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785660357; c=relaxed/simple; bh=YE0z2ZRy+fNjyWhP8li1mcS3QB+EiA5HrR4nvwDI4xA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Mg3lJCE0OvFSoYNZssUGMNGT513re/qGKpOWdbiiBg8rwIvdCzopSoqGwUnv0hKOSFoNxWIHBXuH3zuFqkJs9c8t7PNoShiI4DQx4m+jSQmSjlP0gLDeEqZEx6svTruoO48x3mG4ISSefhO3FzeLzdanV+4EWG/525Z0pdJogOo= 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=Od4/iVjr; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=OxQr2s44; 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="Od4/iVjr"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="OxQr2s44" 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 6727lrfb875549 for ; Sun, 2 Aug 2026 08:45:55 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= j09UVDmhRNeeJdTKDjolG1iUcKqWDW/GodeTRF2HL1I=; b=Od4/iVjr32EJSmk5 aqVCxxwTYt5AlgI8XSAVIz47dXbukXkbXWueMk/SPnau6yGkSLELAe9wuTMKHV+g n6TEhMR+vkbepUuTRBEFJhQifA5pEBjetxm6Xg6KkYzKIGomTtmWgwWScKtASRTI 2439lCRMdxTxBbnRqjOdOTPZxoRRNnf+Iwu0eeYZSnS8UlbTuFRxFgFNRUdQOh1Z jg3ydeDNdLxTTmYMcMjZDsdAHUbzoH/5LM6EYDhzJXalqH807mvMYQp7jEpJPRG9 4NmNcZpqPk4OrNQQEne9kyqAElyfr0ntT/dj1fL3VfmCiFY1QBJtKVITm92PcgBi 5cZF9g== 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 4fsa382bjf-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 02 Aug 2026 08:45:55 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-5276aa86d00so24617871cf.2 for ; Sun, 02 Aug 2026 01:45:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785660354; x=1786265154; 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=j09UVDmhRNeeJdTKDjolG1iUcKqWDW/GodeTRF2HL1I=; b=OxQr2s44Js0nr0YjY61ec1SzVUtzY8l6oQ1wUftCpAVHCcfUP3yAZK9zSQDPVFgpoQ dRvwuKfU0f4iEYKBss/BY8abz0yGskYl3293acM/mW67guxPO7yysnz+6SL+M/9QF2sA LH8IWemSM9+8BRXWeJj3DjUG/0oce4FL0asr+8ntnH0YqoWjkAGysbpLE1lc0C5omghq Mh8aPV97jUW6F0vLj4HfeeTQrA5xFHhRTufNsJgvX5CqlRM32txfZy2QglsuG7erw768 dw8AHRE9wqBXf1Gc5ISfQUibEleAaV1LRbbBOFknbT4vUUQGk2eMYcA2IgNQC6OM1mSK DlbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785660354; x=1786265154; 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=j09UVDmhRNeeJdTKDjolG1iUcKqWDW/GodeTRF2HL1I=; b=HLQG9ygYUWnyJzvPUWv4tVGCMeOJZTfUisGHAPpLo3mg8fCnRhoImUwxLZo4VWFHI5 HD72AMlzk5BssdCuc+eZ3JDtg2KIWIxLSoZDhf0a5ItqkqBm/Qqq0n3QE7VMKqGg5TUP OxJWcIInQoyUKfh3ozk1N48oeCqddBJYvOyghierQuoJKcFywHY5xGF9qdHH4g4xN9YE 1q+4UoLGiO6r148O5i4CCzyRwck3M2XAkmflK9Qx5+E9dv7Kqv35e4s7dF50w0FrNpeT jTUlznBxoPmXXQUJzAcIKD7IIN2gebE8PXEjdGxFO+sAYiTPb+TSImduOGCJW93vdZAm eHFA== X-Forwarded-Encrypted: i=1; AHgh+RoZ9MeEjlOmJLoXxLkaE1AYhwLnN2+0GavH+QHf1dFa9UNI7U210qKlts6OOji6b0viCFStI1vw12IXEIQ=@vger.kernel.org X-Gm-Message-State: AOJu0YyOYKa6TvBi67MHQjj7dQ8y9LS/G8gLuoDFaoWZSko7RKLNDs/P Hg84GKxIdMhgW701FwojaFAaTHE3O9FzoTXDMYtWzV/WDOrOqmwB7cfYqkMuyY7prJGrqQmxAaA u6G4f/ynsSQHiF3XkkW7284SYD8uqOihyKxbiRj5TzlfW3tmy01SLkMALG1M2e67OaSw= X-Gm-Gg: AR+sD11dV4TVmZp53duN1nAhAGpoJ/2FeIzZqOrQztqCqtoNug6I7wfhUpoPN5WWqvp q1htWhkRDA0RDqNKsx0/zrk4Qy3EYMmaDGwKWdvVG7pp5tF2Uh/6AWhCAzdMGmb7WMP/zDaQy1L ZkYEcd/9hFF9wml9MuofChyyJsHK0CkLgN5gUni1ZYaHVZchvM9ZyRpR4T3+OgjjgzyEQR9Ys5e YE685m39wZdqRQ4+WJjlVT86rjW0c8+1b+UEOfE5VNwqQBuPUsCn5H0vFanFbWh36crTdOYQon3 /tUdcUAwwGVq1w/REEa8lnJ2ICFLaJFbTIlm9hzrcj3voYcPNNj0v2IZcFzfpuWOrd2BOSb5Giw 3HvMyK5/H1HpeoA6/e6BhsS4O X-Received: by 2002:a05:622a:2590:b0:51a:8c79:a2d with SMTP id d75a77b69052e-52b56673ed7mr118358001cf.1.1785660354129; Sun, 02 Aug 2026 01:45:54 -0700 (PDT) X-Received: by 2002:a05:622a:2590:b0:51a:8c79:a2d with SMTP id d75a77b69052e-52b56673ed7mr118357841cf.1.1785660353707; Sun, 02 Aug 2026 01:45:53 -0700 (PDT) Received: from [127.0.1.1] ([178.197.223.174]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49808191ef9sm139198195e9.1.2026.08.02.01.45.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Aug 2026 01:45:52 -0700 (PDT) From: Krzysztof Kozlowski Date: Sun, 02 Aug 2026 10:45:28 +0200 Subject: [PATCH v2 06/11] 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: <20260802-n-dts-style-checker-continued-v2-6-6c5dbd1ccfe4@oss.qualcomm.com> References: <20260802-n-dts-style-checker-continued-v2-0-6c5dbd1ccfe4@oss.qualcomm.com> In-Reply-To: <20260802-n-dts-style-checker-continued-v2-0-6c5dbd1ccfe4@oss.qualcomm.com> To: Rob Herring , Saravana Kannan , Test User , Krzysztof Kozlowski , Conor Dooley Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=8500; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=YE0z2ZRy+fNjyWhP8li1mcS3QB+EiA5HrR4nvwDI4xA=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqbwOvOiayFFnEAivgTHfQW/FnFwLdcyv7B4ZXd oECqnVOKGGJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCam8DrwAKCRDBN2bmhouD 18tkD/4pA/O5NjkVPWDyKxxm/wGIuoDtayJv4Vtl28kcbcZ+pfv3EynqgPYbMEH6CQAxuEh3caI 4XLUt91o+NsFSS+KA2NLiFDyg7wf8exrNCdwu3gC4oQtfa1XI9xlgT2Qw2exUZ0Wk+1mJVKt1oK 0fwwEafd4N2Jjcl7+iy5/Muf41yKgX5CQCh9evJqc2I1ixpdWb/J8R15jIk+dYPzIS5sLwfOsi2 SrPazmRaGzZVqTGLPzOjpY4MNazRhBJCbe844sAjN6obaNHjMju923SnYiN8NXupe+frBil6ofa fbfUuC1+r7Vv6gC6TsS7ilzTO7yyqfu5pZ3kPg3BdbVxd5SpJCiZ3QDT7SbqSOZiQwyiLWyQjJt r1rlP0WeroityA82zt7xPm66U9wRlA9bFidEBErWTcM6LirOI9xlvazVCBelzWNcKehrExGKc9H 490UUPfUaGfxIgYfL6MD3RqLXMBJ751AzfkKBkeB6VtQutZ2VnHkoXAVxtAZ2UAy1KD5WJzqN5m DEKRXdTVRBYdgZ7qBAD5cPPZpxpa5i0ZTskCJa2vJoQ1FidS6W/TXPVJ+8gGH4Myl7kgF70/bJQ ogX4ILTzv8SdzXyrMJpBsCiG+tBGdSn4uG40fgAx4a4kjH45M35IwoacJr7k2kdII3hDhiHVbbT XqCl62qGosY/N/g== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Authority-Analysis: v=2.4 cv=KezidwYD c=1 sm=1 tr=0 ts=6a6f03c3 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=N6niishs+lR9UBL1FN3Qrw==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=gEfo2CItAAAA:8 a=EUspDBNiAAAA:8 a=A1X0JdhQAAAA:8 a=JHzK3u4RkIQMqoYOWxQA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=sptkURWiP4Gy88Gu7hUp:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODAyMDA3MiBTYWx0ZWRfX7jz5QZrmoS5w AOf+nXcaf0s8IwqlSZ0x2KNBOPmpegRWQhaGownxULf7oCW1tND23uxdRtrddSL4RhQ9xmGIsTn 7SumlbMdQyB0kaNLG6aNkMtLy9l3svs= X-Proofpoint-ORIG-GUID: JKREh1iYcbR2Ix2aPEPMOjCXFlSUfY7v X-Proofpoint-GUID: JKREh1iYcbR2Ix2aPEPMOjCXFlSUfY7v X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAyMDA3MiBTYWx0ZWRfX+oN/dDCn7jxp VnTPn+ZUr/l0p/Hqt52xHxupXjbz4+VGLrJHuuxeFpECBgkwp4QBLALbNYT+gMdvk5fBmHB/OhX z/QbDhKNKaTBR8VQNaUBCD298axVGRMcv/oRF/WruFVhp08L/7Qs91A3Jb27DxHJQiz1acHbCuC 23VYZvL93iUSeyE6mJEzQwrzBvDrBVZ1amp/kIKec5NfvwDXeXQeZC5V5ZnQQxJtSMYsS5KxYn1 aTXq3EjvgfJQR7uceSzetxBNRWZiDZIem4cNCRbsQ0ZPjBrr/MCJqf/hG14b4UneQMONSOo3RGc KI5thwVggqd7Harj3W6+mmy/KQdUnr5lfVG6IzADLinSTaNZIQFqwnjO9+6Hny12pMmf//x2n2b TvBc2EMvU60nroqqHtGgyoI/t1anjhqbZR3Q0okxVJBOtDDNjJEHK5eKojwq13+S/M7SakpzmMe Q99GYHmuJ87ADWV9QkA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-02_03,2026-07-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 lowpriorityscore=0 suspectscore=0 spamscore=0 priorityscore=1501 bulkscore=0 clxscore=1015 impostorscore=0 phishscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608020072 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 | 22 +++++++++------ .../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, 90 insertions(+), 14 deletions(-) diff --git a/scripts/dtc/dt-check-style b/scripts/dtc/dt-check-style index 04247e39a78e..cb3cdfda5e73 100755 --- a/scripts/dtc/dt-check-style +++ b/scripts/dtc/dt-check-style @@ -928,10 +928,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 @@ -942,15 +943,20 @@ 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()]) + 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 re.match(r'[<"]', cont.stripped): + 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)) =20 =20 def check_unclosed_block_comment(ctx): 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 Fri Oct 2 11:42:56 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 8DD3D280035 for ; Sun, 2 Aug 2026 08:45:57 +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=1785660359; cv=none; b=Gafi5QUQRtHGk2ZN7rV4SyKgLjIzqJR+UVt+yGAwLWzSeDoi9Yu3Dz+V/vlR5vrPujqumYhAyA3jcqxPKyruBs8xTbj4J+KTE7RfHLtRzK2Zke6IviO2IpDY+ZMGEJxCPnw5VYF2Cmm/0KoXN3Mbvl+w51RnSkzC9zBMTMugisY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785660359; c=relaxed/simple; bh=F3qDszd8b3qEhAbjqQmPZyN8vW7SQcHrcvy1x7lehKA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=uL2PlgzJhxoLfPuTNliOf17Hh2hzpIftefVk1kZUz3nHV4i2GpHLywtDiDqi6RXn8GeUtRyI2tnyCAS5vdgNS2AkhMho367Re/l5zIOYscMjCmfHFFLKWw5BgZ8/grZlnHnm4eOZ3ujZqHg8Hxe1dOxhVAeEYNxDBDe06I/u/ms= 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=kXMhNnAX; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=FymJaE2d; 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="kXMhNnAX"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="FymJaE2d" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6727ml4i1384696 for ; Sun, 2 Aug 2026 08:45:56 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= FmY6NfDk7e8bWXk5V8DV7c3Igj2HUItaahf/PSh5N8Y=; b=kXMhNnAXaMjO9p4u b7EAqL2byrnhHyxYhsa2QZ52i+7iYuhdC3YALzHzpR1pjI/iFWUphe6/+tYsRF9I 5xzoJo5aZKzN4yiIT+7lKO569R9Sipz0aGXLfktFex3pYk2WxvNN3+DmbhtFTSj7 erhmt+Oi6MvSoW4XtCttps/aP/OCA4mp75IN5/0ttl6SYcbOcR9emyRIpKXbUYnJ DoI/eG9E3tHMj9GNF/NDb16T0INV945/vRPKyjd2odNPWJGpNU19R+YRMgq04TET a2M+j28NGv+bSI1Z3UBc93zELdbx/QeexazhFZAa8CyskXT7mtMJCCY2Hq9Zz74d NMsCEQ== 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 4fs8tx2jqu-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 02 Aug 2026 08:45:56 +0000 (GMT) Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-8ea75996387so49522396d6.1 for ; Sun, 02 Aug 2026 01:45:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785660356; x=1786265156; 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=FmY6NfDk7e8bWXk5V8DV7c3Igj2HUItaahf/PSh5N8Y=; b=FymJaE2dLaXYuUer+NtR0qKUl8Fu2qc+ZIPvnOD/3iulGdsyiwT4vFa8hhsYxRK3cj jRiVBmlZTkOxKqUReM/Nh6Wrb0UyMwqKld1JB/+v5KkD8TUZF8R1vxdvxjePfxWqNjEM p1tfwSpoeaxKQEvC9SyeFCOacXtve/oh7z33aYZcABcYBzNuVX1JEsDJpto1E8lkn7gD sU2OGDkXZC198RWHzxkWU8sSktaA/Kq1U6tRQtF99b4gwbuX5kmQz+0S7szXbcXcKBP/ q30ukOpWe5djxLkV8L9x7G/FeEYYPk1duG1avXXlPTWo9BFmnfq0EYUBeZjz4gnNKiDu f1IQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785660356; x=1786265156; 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=FmY6NfDk7e8bWXk5V8DV7c3Igj2HUItaahf/PSh5N8Y=; b=gQgONod0FXgQ01TMD2TacVx34p/9DDd/if9Z9uFM6FrQG63qjY4CT+GfBTmfciq0eT yrKCaoZX9B+oYmeEb7ltbPJdG9QileQRYnq53lCH3DZOy6AQDbsXhqvxM79SSmGJrxmC foKcZhmBtU1zn80zc5icdHVBNiDwgB1xgrQbm9r5M7y0dM0ADm725rB4l/1/GWNluqaG xukMFOdflarapFdTMnP7yiXxKatCPOseUW4+4VBOuZ6sMbCXBDiWqWx7aJjm8vTl9aMK xvlT9N8d4hhGAFFEFydIgCvxMd/QuWgbk7waIjSsCuQCL0KbJt9+ifOPXbp8acx7lF8/ aiRg== X-Forwarded-Encrypted: i=1; AHgh+RqCf0LilXEtzgMV8eB0K4WHrYFiKZl+pzrqe2w4OwD57oEBr10Dos8oPBNBAV3oCLWYrPIVQFd32Z7Nd28=@vger.kernel.org X-Gm-Message-State: AOJu0YxGXIVWZFzB7l4E9aVlhXIU9iRfF69dsuKq6W6K6KBJ3o3+Hwss VBgLiSEcGj5mUh/5nvNQqRqTcN9G0veX0nhPNH5mTgby+dSsuyzRXzfUqul75knN3cCuc4NYfsf I7K8SpvavbEg7gocMkdZwuKGwqE06bdreXWj1c3Gepf8j/jEJWbI7N1Utny2BWmt4STk= X-Gm-Gg: AR+sD12DCClpUPiYfSJ+YRpIRS49ul3Qtw6BrHRR75lgyOcqk7RCcDv+j+qqhXz9nzA Ob90iCuoF0zEhKWtQN7gKAs93cmCOYBOevElvBgB0tIPq95r/yrDUial2QJBP3u4WBkg91UR0AA Bc4fLwvkQU8FK4pGGNmjfDMkWrfhk4YESOgL9VaMNyqkJ4BVK6DWoxG3y82VVUd8wB+6DVkOuv4 E7BQA2+1xFNf/hVRtHs1auRsXlRBdGhC0R2f1nmNJ9F+lBkUVW2jItIK2OJg6O+1oeg3tNkbbWT rm1ZX4I8zZu023oHGZKcHkec7oti6057igShkFy12WjSH8/wXOqgzSoH/UbYqWkb2DQfvp3GX4U iS22JVoV+80QoM0OW5M5KGbAa X-Received: by 2002:ac8:5955:0:b0:517:87df:d8ec with SMTP id d75a77b69052e-52b5666c4e5mr112014041cf.9.1785660355881; Sun, 02 Aug 2026 01:45:55 -0700 (PDT) X-Received: by 2002:ac8:5955:0:b0:517:87df:d8ec with SMTP id d75a77b69052e-52b5666c4e5mr112013831cf.9.1785660355400; Sun, 02 Aug 2026 01:45:55 -0700 (PDT) Received: from [127.0.1.1] ([178.197.223.174]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49808191ef9sm139198195e9.1.2026.08.02.01.45.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Aug 2026 01:45:54 -0700 (PDT) From: Krzysztof Kozlowski Date: Sun, 02 Aug 2026 10:45:29 +0200 Subject: [PATCH v2 07/11] 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: <20260802-n-dts-style-checker-continued-v2-7-6c5dbd1ccfe4@oss.qualcomm.com> References: <20260802-n-dts-style-checker-continued-v2-0-6c5dbd1ccfe4@oss.qualcomm.com> In-Reply-To: <20260802-n-dts-style-checker-continued-v2-0-6c5dbd1ccfe4@oss.qualcomm.com> To: Rob Herring , Saravana Kannan , Test User , Krzysztof Kozlowski , Conor Dooley Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2975; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=F3qDszd8b3qEhAbjqQmPZyN8vW7SQcHrcvy1x7lehKA=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqbwOwqrQXiD03TLg7zGr0r88nOPg8vkhm3b2z+ 6hiRJMBCUqJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCam8DsAAKCRDBN2bmhouD 1ykLD/9K4qeA1I2NjR6Ux7Wz08KU4QJB++5HEuY1SrEh6/8OdQS9dGkdaQGV8PGyuYfqLWkiTyj AYfa6noZq0hG48jZFR+mbBd1OELhmnPaI5TfaBM/Y6nirAqbbbT/K8i5hFo32WJ1aTwhqNDz+jE FBRow3y8lo9CxJtMX2m6n6CtkZd++8nvD7Kd7I9Hm8+fD7s5m9ikhP7uniNqeak6qIwyoNwANGj 9uAW0b2udRTmypVzA1DIdNsgJEg8f0cNytKxyghZUIFpsHxt7mKEbr9cSFSF4GY0Xpx9n2lguZa +3WYt+9IumBHFLJl89+I2jg1ZbU+At01dMIZvTPMIzPFZ1LvfEhdsJ5R/etfjfs/KvkF856WEJV eckMGqm70HdrbHh9oHA01cfD0u/Hm6WuFMxlMKeMRliuiZEmJJ8B+c8a9QB2Eps/vSjkm9JKrlP FJlf93z13tcl3nvxHcFi8lAjpdBx1iI1os/iYR8q+Lxv0lL1Y7GxRuMhgRfQxtdPoAj7BgRRzES 2TLp4VrtMjbQQBCI2fi0HAzmE8/Q081Asp/OPYhyDjJY/BYf2vn8GcN1Ve2H0RQxWDb69la0hnu q1i/Gnq3ZwAJP0vyQ4YzeNRJgpiHCc6r5jI23nNWgIWMBoQyNlLcxrrhn9yP1g3kBdGxaZR+eph StQ34f/i6c/z8WA== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAyMDA3MiBTYWx0ZWRfX078KSGxk//Ol 9CP1l5EZWTHpU6WGSfe9m5hMQBb3fb3ePttY0LbmzSl3/Z1SiUxBnA12LSVQslLqcKscYzpQDm6 x90Xikt4jzagoTzi3Hx0AGuW2vmYLnouS8KPHYFewgiGczp1Ilo4j8FXdyAAiZ/69d0frMr+Hup 5ZnzUc30mLSn5JFytx363CETnEbRPghnCrlIvOzdcXYwtZeQpO0VF2hMlY3s7fc7t0+utBxzr+5 xdpWNZizgLhdG4WlVrzOEq/T0EpTgytJmkPSGxPpuCgxKnO+kadtn7L+LFzMexy7P6gWfmH76nI JrCII/gmRivOJ95mKixD8PT11SoHm00OigLQGt7Y786wSFBdAC8YTINswulkm5aLSAriBO/x7G5 Vv1g3y3reIFiCq1iASXVKPaIjgYxRZHNAEg8yTm4Ufo1ipYsrG4ZT8CdDrTxGYHhVohLVDvLIZ6 3WB4OMhNL/WDbGwfP4Q== X-Proofpoint-GUID: lXSIV_spjqPiodghPUbI7SW7wDMBSFUq X-Authority-Analysis: v=2.4 cv=T9C8ifKQ c=1 sm=1 tr=0 ts=6a6f03c4 cx=c_pps a=oc9J++0uMp73DTRD5QyR2A==:117 a=N6niishs+lR9UBL1FN3Qrw==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=NTR9VLuwmhvBj-zWrF8A:9 a=QEXdDO2ut3YA:10 a=iYH6xdkBrDN1Jqds4HTS:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODAyMDA3MiBTYWx0ZWRfXxKfXYEqUQHwH AaGKgooQSE1GiR8Ei9Iv5bIp/q2gKBuC6DSCMwbbMDJOew1HB3R1Rd81hp7ORRdcJXZpjwFPusZ GfjICL0W4lWpmfYynWU19gtd/evTIkg= X-Proofpoint-ORIG-GUID: lXSIV_spjqPiodghPUbI7SW7wDMBSFUq X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-02_03,2026-07-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 lowpriorityscore=0 clxscore=1015 impostorscore=0 priorityscore=1501 adultscore=0 suspectscore=0 spamscore=0 malwarescore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608020072 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 | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/scripts/dtc/dt-check-style b/scripts/dtc/dt-check-style index cb3cdfda5e73..54e96ce04b20 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' @@ -1069,14 +1069,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 @@ -1148,7 +1148,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' @@ -1168,17 +1168,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 Fri Oct 2 11:42:56 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 314433911C7 for ; Sun, 2 Aug 2026 08:46:00 +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=1785660361; cv=none; b=Xlr4Ur8aoFFVy7bjnx1mSZ2mTs62Nh1QGf21Y/SuAtqgQ2y8A/6XixqmwC9XSZfMvd2bvBy5/1ttcRsmp3OH4dtscKxPyyIG3lDkskSUcVAPia1sqB09gJTgD/oEeqELqk3Mls84gGr84meqOC4B9u/Z0RvDVPtOOm7rU3zy4G0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785660361; c=relaxed/simple; bh=YRlOMyo0lZZe/buwHiEDFzRrib4qkQ50ezeLCpdCJZ0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kKgLRmOmdrmAhbodsIp02FlY2s6D7c1bysFgKH0J7HQzEEiAwanGbHe39i1Jj9pqcN6EhnywYQgugBMcELifYVyZCotrKlOernVnLeBsTvXPLdiFSRNVfvyRWxtoYyK9oMubviWClYjAR4337tQdNWxfRHXs7/XXSP8k2jSW5wQ= 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=H1cwH1yW; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=f2zWMs+1; 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="H1cwH1yW"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="f2zWMs+1" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6727npAY1605532 for ; Sun, 2 Aug 2026 08:45:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= /zGVau8Sj6cVkJ9qLuM4TpSFpYN4/V5igr7XsXog/Ss=; b=H1cwH1yWMJ808w2z 1YxY3UFfWgC0CwdKvV3ZvbFT3sysGh0xN5KbSGONJQx09CDlQbZaH0qlKHEgV/hL 34tp/SgWVC0qAvp0H1/eBIZu6qEAE++KM4vXYSO9E+43K6sMgsO6262eVfrWtD9S lZsuUgE0gHX/tsj2TTgz2CVpgSL78VD49CG4S1SuZSUtNSPCgPfK4IRJsdtt6WHy j+b+xGp7CrWzxS6LdubpqlebLAxbrCn1bxGTKRX2JpURMvIdPnNninWg95UOOSBg 37x5MRopP8o0jKgAXe2xDSJbUULhjzR3keYzMGDTa3N1UpHoqf9YXtlAsk1HwFDN Y04fag== 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 4fs8qptgfc-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 02 Aug 2026 08:45:59 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-51c12e43b98so22530401cf.1 for ; Sun, 02 Aug 2026 01:45:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785660358; x=1786265158; 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=/zGVau8Sj6cVkJ9qLuM4TpSFpYN4/V5igr7XsXog/Ss=; b=f2zWMs+1dAz7yOgi+14M9wcjjN0tI71gaifg/di5JxFIdZXMgTZgufwnDlSIMsS30T Z1wLmhIeFYa1SUTFKtELZF6CqeafMdj7iO3dMeyL1e2odv3oNbl8SG9g9SyhOFFm7t0u IgphgYEHFdPqm/1v4wery37ujwQXZaLv3iJsdpwW3GrJmcxPigcv0vbETixXKOgzLwMe L+Zlqj6PxZ+DBZqW3QHXUNb3sUaYhzi2Ql5aJCrNDp0AM7THL/wcYR6ZYiarvTP3AsSE 5pMfS3YBNendgm+Jo8noMR5PFRuLDDUwbo0sDJatNeCiHmJBxg5JcxHSxnCqq8BUvHYg RfzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785660358; x=1786265158; 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=/zGVau8Sj6cVkJ9qLuM4TpSFpYN4/V5igr7XsXog/Ss=; b=am8AohkGBnG0YnY7ElTLmTHtAa26eTM3G5erY40QKBSvGzV3VcmqO+HGy/bLhJ6UO/ hS2t3ruSVVTJpS52piD76JGX1nsa+eS2lu3Gy1QvRT9+JD4924m6ejkcYT/D244O0BL9 EllygXUaMMNjKnBEiXPa26HQX7vkqrADYoAn01iT06yaFcuG6d/A445F6yaw4OWLmdOH FqyC8DxUFleGRLAPo97rSlbc3ObYKzyI04ac5r65g5XXYx5bYHqJFw/TRjt79M1lTVat TyImGI4OT62NJ7xPsioV9jtxqz5MM173tTCtIrUm8CEtgPY2mdDZ7HSakb1fbo7+QA08 0Ysw== X-Forwarded-Encrypted: i=1; AHgh+RqjXPuKeBY+0PAr8elvuU/XFmja1TLqBjI7YKYEFuDSgI8woDD3f4PJl4DKJYcGks+s2t1S+05ZAor0spI=@vger.kernel.org X-Gm-Message-State: AOJu0Yz8DjuM09+Ta1IuQJGI6q5GT4LYvd9Hoo2T4HjXSavSKars7Sjn +DBk4wGvnEqjzvDaaNzimCxYklPAgmx6nY5H1y29qu2rVLWL5hO+b/NSEzidnxDkNpakG+H4jjD 16EDWe1yWehIXxIDoJTKI//2t8efXe9dH3qXOiEHWHKDoae/OD49uqt1++f1KSX6g8OY= X-Gm-Gg: AR+sD12EpXZZZHmXwm/oIl6iEQokxQGcLWJelJ3m0Zg6nP6eRr8AS5eMnWVISaP0wfr 8WEeu+UeHX9ZF7qnq/lE+khTFNiminWP8C+TZ+1B1NqzBHI55wyGs0jXMieW7A6+R1EmwfZZy3B dOe4DljdjtdfwP3IpY2UrA28B/ja5o00xpDQqHeZUtkDEkcpMG1mJShp0P9wzxgHSYh7lzBN1rJ HURrBQ9sP4KU7oPUbai9QPasKS/RfRrq7UJM/cnMrE72QRW597VoY31GfWBow6PMgcbh5G+jSBz PEz1HCCkgZhItCq/ImDjuXtoqmFkWMK/b245djXb8INnfDApigO6Bn6Fm6iJNzhm+WNlKH6zNrz jTD0DI5a609yF7BC8BwQnU/eu X-Received: by 2002:a05:622a:a06:b0:527:43a:2f30 with SMTP id d75a77b69052e-52b5676021bmr114737551cf.1.1785660358193; Sun, 02 Aug 2026 01:45:58 -0700 (PDT) X-Received: by 2002:a05:622a:a06:b0:527:43a:2f30 with SMTP id d75a77b69052e-52b5676021bmr114737291cf.1.1785660357746; Sun, 02 Aug 2026 01:45:57 -0700 (PDT) Received: from [127.0.1.1] ([178.197.223.174]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49808191ef9sm139198195e9.1.2026.08.02.01.45.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Aug 2026 01:45:56 -0700 (PDT) From: Krzysztof Kozlowski Date: Sun, 02 Aug 2026 10:45:30 +0200 Subject: [PATCH v2 08/11] 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: <20260802-n-dts-style-checker-continued-v2-8-6c5dbd1ccfe4@oss.qualcomm.com> References: <20260802-n-dts-style-checker-continued-v2-0-6c5dbd1ccfe4@oss.qualcomm.com> In-Reply-To: <20260802-n-dts-style-checker-continued-v2-0-6c5dbd1ccfe4@oss.qualcomm.com> To: Rob Herring , Saravana Kannan , Test User , Krzysztof Kozlowski , Conor Dooley Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=6851; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=YRlOMyo0lZZe/buwHiEDFzRrib4qkQ50ezeLCpdCJZ0=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqbwOx0//2Jkv9MS+AW1gI07Vse2cwfPEbFdf+7 Mn7SHbLOM2JAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCam8DsQAKCRDBN2bmhouD 188jD/9i5rqq87zTGeLYKXjND33PaAU35ZzE+3Vha0DVZi0aTsZVoSkS9Fu2x1Svib4BwFS+pV6 qZVmAtTOGi4bn5cDH4T9n/ffOhanWgjfBxeY+USGm6tYXgo55SSKrBmMHsHPJwqUOad4VSDiYps We9TA6OxAc06QQ7xwXAPY8OMl3ikKV1RnGWaJ4RMDKEEDzk3aOfruQzoH+vgDPgtwFRhsWVjag9 4aQajuDhswh2jkblf26lYTuZsSp15E3EJowTzREe4mQiDaA/7blL65tokRoWqLerOvBriCGXogU 70THIN33xXgwQ1iC/zKjdZFk0PZgG6dnYVfjtwoIqyG4DxZU2V/eJ7B5Y0Wr78AUn1ug23syT3Y tJQaFRHnbWEkWgONhCy/7sNakQE7nlUCcpJtqHuHfsy7+weVzX0M+FlJerX7xqEPjXyTYWVq+1s gTIXPCDuG3T++pPi8N66pOMVnDmsf868ko3toxkwQACSpE9j9gUHHZL8rSEXMnCp04TQG4gUZwr ENMMa/hSkbhLoy3ACieOP/SqH0B9eAVKXRlcar1l2gDurcm2b/+HMFDlzEwkdo7xyzl34kLie2Q sKOO45r20WgYoNzp2qszgjmTtzVhJCIApgb6iMU81+aKdnnK+/TbrqR1myl6vwr4mBcHqGQZpo0 +gqtoGVUpRWds+A== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAyMDA3MiBTYWx0ZWRfX1ahDYdNAXeFc gbRTnTJOILVsTsD40ot97OgpIiXxXmXGX8aFjEF5Ohrde5gNDesu7piHUUYgQX7/NdHQpFLNBAF 3rfhXEL4RXt55CA5rRAmJIORSudOoh6eNtXv9smA9GnrIUN28ZtT6GdYqadyS7J3dAA0XKiFA5a Je1RY0qChbYrIBWDvKzW8NENVyXQdj7jPHfxhbMlKCGZV1kWpBmgEIWqzpJ1K03nWOyf0fXXmb8 ruvNUYcY3FOHtaqEwr0aN2uVPYGgB0CCv4g5hZLj2Vf1hXLpow/r3tkk7iF6Atfb7qyaZ+hiKOs s3rut7FNR3uznVXXIcGYDuHYyb87acCtjICz+hQhpjSBKU3735pNp9eYCpQRo3pJETbIL9UfGMX dU6AGI8q7kF8wm/WVAYVRl000Yqvnr2OI8jVgZkD9Bpk1DLaw6VOO6sd4GmNR0DaW/cD3s0+G58 EYUpEVYRkNZzLZfi/SA== X-Proofpoint-GUID: GfsPdPfVhSevEvKVqaN5fK9cXZS1ylfQ X-Authority-Analysis: v=2.4 cv=MpViLWae c=1 sm=1 tr=0 ts=6a6f03c7 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=N6niishs+lR9UBL1FN3Qrw==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=F1kASC3mFAX3J9PECjcA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-ORIG-GUID: GfsPdPfVhSevEvKVqaN5fK9cXZS1ylfQ X-Proofpoint-Spam-Info: AW1haW4tMjYwODAyMDA3MiBTYWx0ZWRfX5Hn/aDo+cnqB vcfvabg5YdY8dpBk+5PmXHHnSfQP3NDWbrJpZBP15kItOkxl+dtZjguB9IutC+NXW6HRl4pcoQj truFNry3k0SOUesl1fJDNLdM9Uyckcs= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-02_03,2026-07-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 clxscore=1015 phishscore=0 malwarescore=0 spamscore=0 adultscore=0 priorityscore=1501 suspectscore=0 lowpriorityscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608020072 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 ++ 5 files changed, 63 insertions(+), 8 deletions(-) diff --git a/scripts/dtc/dt-check-style b/scripts/dtc/dt-check-style index 54e96ce04b20..56d8d0c217f2 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 @@ -1058,20 +1060,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 "\\""', 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]: @@ -1199,7 +1208,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 --=20 2.53.0 From nobody Fri Oct 2 11:42:56 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 A97A4391507 for ; Sun, 2 Aug 2026 08:46:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785660363; cv=none; b=TQm7tHBkQ8xSGhIQ51PSySORcrZOV3/IfxT7WohmG8FQwxs2DIG8M8RlZzp6Eqkti+LQ/xmz71hxeE/L1gJxY7fUIJ8uL/6XylDuvpbHZ0UESh3hoXbzo9LZLhDCe9/O6lucDscXLjuxp6ew4stUNzuyzHo0ECBFur4uwcPDKQs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785660363; c=relaxed/simple; bh=+2ROCb6kqVvx17mUmZm+JMrsgCHyyS4gQ9bjeReqjas=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jJY9THWBsLW7diBznytF/JtbOavQNwfBxaBly3UO5xDJLgL28KNeb9UCI78imfGDM93na/jG7L1PtM1oc67yCWvhK0w7btjEktwGORqjTxIEnzgXpQAcZbIdThMc2JDYpjpk4CPRIVuxgMXU2g7Lz+5xKJLz0QKqYDgu4mu/OJY= 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=iNgNc5En; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=jAYS76xc; 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="iNgNc5En"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="jAYS76xc" 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 6727mJgU876699 for ; Sun, 2 Aug 2026 08:46:01 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= NdZFtBZ8aaJXcDnF46oSRjvRUH8o02DrQqlCp10tq1s=; b=iNgNc5EnwGNVB5Wo jpzYDT1c4q93M2GP69xckixhd0xWzflUEHk46ucTp+WKQxDcV5HteU3K/kn+6PZG TDKqhY/F4HlKtUb5KFwPiPBfQUGomgNKyQSYxkn+Eqt2Hl+aPOqiJ8JMOQDB0yNJ Hk50J/N1Vlzytrq9Qm2KAuvyr6VhWOsRNo/nSndKUNMEceAf6S4bg/H9LsBsEO83 +cUW+/di+e7Yr6pvymWjKK5m7AqxEsJq/QchP2D8hp8MGTgo4b8FgMlBcyvKe5ib H3ZIocakgGkkRsebPG6EpkAlFfUFL8nPYWos/DmpYgEjG9zuxOxGyLeSQd3pHIeY uuv02w== 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 4fsa382bjk-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 02 Aug 2026 08:46:01 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c1a97644aso23549101cf.2 for ; Sun, 02 Aug 2026 01:46:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785660360; x=1786265160; 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=jAYS76xce5jNhogwU3lfZtpaoHXXWCsz0qEn2WVl0q94awxnI+8VNf4mDzct5kJGC2 kzcJjZxFF+cqx3ruVTJWOc4WTp8jdyVlIjHHz6ciK5o3ITZQ3w6rpTseKrC/BCoixfJe Ag2uKH/9HsYhEKdedE3XJaBwrtxh1eX0K+w9eT+gHAxQdOumsRTsus8J9ItXZf4OEmNG HFEftaciOHvEOwynyCKXy+MoVMPHwNGu8KiSP3mGw8nnPGOtJ3RvGVr2ye+QjI37ADnU QrdFkELiwAdR1VvQ/TZp8nJQUMTIulUWUg9D9UkRjuiDoEC+2y47cSEh6Bqx4cm+0SUi PcQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785660360; x=1786265160; 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=SxMG2d49fRdgQfW+6NJwcAM+HDiCGMd7WLttN8F6COjhLnJaK6a6Di5m56n0dYWD9m ymhw85bDsT/C+YJrA2XqtYhw6Oeu3OSU3ts+5Thqsotc/gqNY5StkynrxdWtIdYT5eOe FELajFezPuGOQuNKJn4OlDnCf3cQhhuj2PCDtgFVWgS4ofeUWH/cH9LhPx7tPyeef5+8 jb/wgsw2HUfLgrxQbb9F837USL7Q6+pc61N4GJLI82Jtd2QJgDRcqoNpJ63W1yYlVxjM QXhr5kFEcdyfG7yY+PBCMEligYey25F/iz7sQ8VEWwSAvmEOyPlGpo59WEVX+e9swO6A UM6A== X-Forwarded-Encrypted: i=1; AHgh+Ro191lXvwu4Wdfvvd4OZ8GSqoVKNHfz7Ci/gKPDZrqmU1l4c1QJHOhJ9AgQ4lU+GdpESNmMyFZkTp6qZC8=@vger.kernel.org X-Gm-Message-State: AOJu0Yw5wWFnBvRD4IEJOeRqbNnolrojB04Ez6k1k47BAk3XN0lcEkV6 0bbgCLmIzLTq1aeOV0frey87L7KO5YR6Mt6Ugnk7vy/q6s4EfU4w/GGpC7P+MEyAwaBe7CABRng gaKfw0ITCw+mjQedDxxQeu0OwDmYGY5ImuqRbMstem5rfEgrNvEktRoj4ZTI/o2UmZnSvyR2vDV U= X-Gm-Gg: AR+sD130pzfVTwe5HR0qqLKWnhivFdzgKlHj5AMBvBViCtOPtDUBoafKUuMkQ8XqDM6 qi8tLQ9aXXRPcWz47E4esnvG/gvmTJpnF8FSowgZKMvdC3YgPzT0c1DphmD1MdAzN4QLZR4g6um KQrw+YZmBvvBckWWSfZlypq96UkWx66/hIxzE6C0rVHIIf/z6Vnms9BQ6vkl1ee6A1eUJcy1CVC VZzboHr0QBxGvqqs6twEL1uCB48oZESSBrcRg8rGh1cJ0VkXQNlbHr5+iq4Xxq8pGG2BBw7tcom U/OS3o6Qpaa6lZ/idYfnGqbU2fR8o1T6Bxf2SILHsXNMLNJZH9UqCdPu2K0tYiemm4HfFOKFM1b kgg6nfrs/kP9m73lfaENv0hNZ X-Received: by 2002:ac8:58cc:0:b0:517:580c:bcd3 with SMTP id d75a77b69052e-52b5674a16bmr114841721cf.19.1785660359961; Sun, 02 Aug 2026 01:45:59 -0700 (PDT) X-Received: by 2002:ac8:58cc:0:b0:517:580c:bcd3 with SMTP id d75a77b69052e-52b5674a16bmr114841591cf.19.1785660359578; Sun, 02 Aug 2026 01:45:59 -0700 (PDT) Received: from [127.0.1.1] ([178.197.223.174]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49808191ef9sm139198195e9.1.2026.08.02.01.45.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Aug 2026 01:45:58 -0700 (PDT) From: Krzysztof Kozlowski Date: Sun, 02 Aug 2026 10:45:31 +0200 Subject: [PATCH v2 09/11] 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: <20260802-n-dts-style-checker-continued-v2-9-6c5dbd1ccfe4@oss.qualcomm.com> References: <20260802-n-dts-style-checker-continued-v2-0-6c5dbd1ccfe4@oss.qualcomm.com> In-Reply-To: <20260802-n-dts-style-checker-continued-v2-0-6c5dbd1ccfe4@oss.qualcomm.com> To: Rob Herring , Saravana Kannan , Test User , Krzysztof Kozlowski , Conor Dooley Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.15.2 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/ZANAwAKAcE3ZuaGi4PXAcsmYgBqbwOyMg1zVETwQYLryySo0xTh7lZSmGS/mAiYf 9iMcGeNaLaJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCam8DsgAKCRDBN2bmhouD 16EtD/44lrulxJuRUp3wjdKxhqJWtYQcANXZUvdPEwWpNyF+fnTjVDNvjKoEU8PQmBcbGuL0+yR yleC7zTlOYAUEkXIB1CEsbqC69mF4AeyZ9TkqKKfV9ShYA94n+GIWlqJzJvwLuFKpzUQeAz3uhc dfKd+acJDop0kROjpGwZMRsXBSY3u9hBdL4ZHTouznqZ5WfIbI/RKO//3Q2WtZ18blFwzVe+c3u IwBoTxGA3ryg4MTjqI/rKVWwxNnZrMDLpE4CfcYf8cmyryeoKH6Z9KeplXmN4IPPx6IrvNweqnb tt4XjlI4pF78s8s1YbJEgCb2FZl9ehvXBu8RiR689wluC8Spqe7GmrM+ohfzVVRBoYSqisvKvny 9VB3DguhDxn2BS40P8oxnnFFeZBEwVKXtH/KLQGegwcLNWk9hsIy08CI9YNDgrFxoNjxKOYRaH8 Ef/v+QUaxvg4RlTeUEmAoxxJoLhJwBz77/+bod9jlRrw5QOdmrxaYT5lsFJTIbuV+gOCvUeWIun no8nycfyCpdCX7rYwkurEjr/SZWaNRlibNoW1QHALzCMSo9opt3qxKZVtt0vJjOxmG+B1uRRcT2 cD/UGYXWCNvZBhtd+k/R9Rn6lkEriPyRKiq6tTKxM25b9QNp/STqJg776ZmiIgDYsJ0PDzANkRs APWFX44igIKO/yQ== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Authority-Analysis: v=2.4 cv=KezidwYD c=1 sm=1 tr=0 ts=6a6f03c9 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=N6niishs+lR9UBL1FN3Qrw==: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=ZteHwOODggqzs_94cHsA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODAyMDA3MiBTYWx0ZWRfX5NWqrh5Gx0pu 1ydE6D70nO+HD04PNqSfwSWhMIAMw0x0DWHGurvQ3t/74OWrGVdDHdCr0yGcMRcl0lu8vWjaXoW LYEFK3M9FF3MIlk5oaDSlNYPLwm4Qm8= X-Proofpoint-ORIG-GUID: d8SqDt2UE5F_Kvyxth-KgHI59WRn2b0F X-Proofpoint-GUID: d8SqDt2UE5F_Kvyxth-KgHI59WRn2b0F X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAyMDA3MiBTYWx0ZWRfX+ETTMkA4wXZM HP6vRTSRfIa2YUSJ6W93ORYdCbhyjwEnLtexv5hFu/Aq6ZkLuEd50kb8O0Psd5G+3oW622oxKxt r0b2C0ukMetCBA4DbvLrydTpG3uy0H+lsHR8tkNXNYT58QzAEKUBrTVCwgYQJdYH89jq1YE+Pco s7pIaMcigZZDeVCsvOGzvd4Y6Fwkbvl9oRzQ6+j2E3E4ahm6WufOZOVbWJ6xclgcjXNVql8PgHL CSwLUycDoM5NmZhXiDvulNkBXokm7VGvxtwUR7pewbeiHz/YLhkeLWNmfF5825djX+YYMFzaqe5 fHpQ5VZ1h9Jg0jI9kIiLG63CT1/Da9p85L5+zaOSFnrjrON5G6VRE/KUaLCaYx6tlmw2lUfGvGD rR59ZfGz+AtWrzbHhlnK5AHM6sA7KifEH6MLBhUQxAS5PkRLFx3Uk87kebbf3ujwmfwj3NgeUtF xxDsJb99a+rIbnUZN9g== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-02_03,2026-07-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 lowpriorityscore=0 suspectscore=0 spamscore=0 priorityscore=1501 bulkscore=0 clxscore=1015 impostorscore=0 phishscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608020072 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 Fri Oct 2 11:42:56 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 765043939B0 for ; Sun, 2 Aug 2026 08:46:05 +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=1785660367; cv=none; b=a/Uqx5Rwp0vPxdJq4j0k3NyeyvV1eTJXFDZoyn3iG7fKAANnZdg0uh+HtSNgFzo1VZuyaJQXgW+Y9F1XxysuIN6b0WZuHN2DR3NONG/xJ/sIGBh5Gi0LKsH67jcs4h586wTWGiwdo8bUEWEeiTLnkF2BBgY8tdGMZuAKtQ7ri9Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785660367; c=relaxed/simple; bh=+aQWcAZ0TVLFGD4KZ0COiKYzxux9CyMlFJZtzARC2lo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jV4s7DBA/9bizCDRoLYnxEPXK8H/0nAUviTI/YSKvBgdSnZvvLcqPqTjV5oUXjnXQzmKq07GQ0Orqznih5je0u7y7tuFcNZpSO36jCi+BjJP9nptTAQtaY5piceus2HHqPYssc9RZ8OUF3btf7HQCAime/F17d5lXgPJFGbSVLU= 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=arMPNQID; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=QOQxwdCJ; 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="arMPNQID"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="QOQxwdCJ" 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 6727mMc3916788 for ; Sun, 2 Aug 2026 08:46:04 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= hmYeKGjgemico9wxLJemvTSdSrr/iVJh5QJpJS1sDbs=; b=arMPNQIDID8oZc8W uklAkqVpiFVxIS/TLdQLPj/UMv1k6bsYew/Dqq1O8Kgnq8SLnIdPXq8jtqbN8oAC 26VEcA93/Jqorpt327cLVQ8SA8QqhWYFf6LBFQj5VSO7torL0TqlOhtZYLyYqG3/ lKewjRGVQQe3EEO0cSdGJoZr1TP5ECrRQmDEAO04tqM0kWuah1RH6pe1X7WMPGB8 Zcgf6dFKatd+ebqcYveU7FdaRwTOF1+DTpljzby0u6blCSWy9TcDGswm0fmWjdiX +hww91BMEgPHc1tSif0tw+2YhAl/MIWf8v/bjFWrFKqm7t3AV6T00tBhJ/hG6OOK UjIiVw== 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 4fs966aftt-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 02 Aug 2026 08:46:04 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-526da7e3c9dso20552461cf.1 for ; Sun, 02 Aug 2026 01:46:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785660364; x=1786265164; 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=hmYeKGjgemico9wxLJemvTSdSrr/iVJh5QJpJS1sDbs=; b=QOQxwdCJZ9G5a7+FlgC8aUntdolTCEv2PPHfsw41C9F6JhA84BtiT/iLJXOoxhZtCw tBjzrMCoCmMFba/hdu5/DYpw3WNtozDJVqzFqMMppPGsIJQ4vIZ0v+8G/Q0PPW+FcmV3 5rIvvgMPfWhMuhShwXVmc7HLGBq7w0WfCcv24A78zv1DzFbZcmpnLR+M5ciJSzOzhWmw PR7LdsYA7Qco5/shP7vr2kDS0YjTtI5eHKBzLu2xdOSu8LrT44pwwXoEWXifMeN2Bbd0 agHX/6RX0CToEv3sxxjpx8DErBranZWsAI3EQTQCUdw8BQ1W7BsnbPQhGquq06ApHXd4 U3DA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785660364; x=1786265164; 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=hmYeKGjgemico9wxLJemvTSdSrr/iVJh5QJpJS1sDbs=; b=HE4RoKSMzEZyw1uI8lcO12ZMyxFAF1RRWgZCLivuZpQQM0+ZPdFSybi36dDt4LDTpZ kL670U6HtAv32SJdZXB5zYpxMAPf2KbZqSHGNZ4Z0o/7YYnAJmbjuCK05aKgHyt969LJ 1zHCziEnMKHDk3owCtyhWXO/E9m+aXNXqLKZnwXjOnxwbtRalqrz6O5x1IDsjwZDGvjt eTfli0kqi8HxP5CnFnLaT7uo5xNuBzzKIOO0SbntfDep80Rfhug84k91bRbQxXiN4nYW 6b4udCL7ZupdLQU5y8A76+2Yo2RUV20QYg5YVzsK6kLJr/1HccpSvJief43+cAPLrdW8 IXSg== X-Forwarded-Encrypted: i=1; AHgh+RrtvDQTNyYJwBk+hKql080daNzqPPte9mRdgjdc4n/NfiLc5wVHQpDq93TZnp1k/YfeBbCoSzaQiGvA+ZE=@vger.kernel.org X-Gm-Message-State: AOJu0Yx9K7n3OaXmtqwpldeO32OA6YW4KAO1PRR/41DjsqTPBoOzS+E6 aCYCe/aocrehIoyw/nZD1QLNio//nyY1WRU7d8ilMgy/ETPErnuQxz1qwox2LdMrrJxmF5/O3nq L3+eKDuTm9aoTanaQXsTnblVwrw/lexZ13ZnfMaqc+/AkRVacJ4Iq1g9LIP2SzoZcUPc= X-Gm-Gg: AR+sD115rQ/QVfOZVY51GhYrlfk6KKu+xxk3DSzg6Rxe736XMRMZ52Kana35zUfVEoQ LS/4udLe5WdDx4SKW0ah1FBepI7NcuaGpPQRgsJFCopq+sfpayG4E6g4bfWbaIIbsi5OIEKRHY+ VfXhJa4ClMj8K8l5qepkhog4JLHf9icKK4+3c3Du+39qNFsZMPvdhbn8rpJ2nmnIF+IBGOPO50W cD3rdZToasYUfsuNyb7UnFAzJc+1CiTgIKIDckQjXrtHMtNDw7/vQbx+Vp2roqgkse7fKFKsgxW LLbCqA5qYxbZffvK0yzC5upHyjfrzaM5ZejIDBgxDOKIYoKF7cGysR44bgit9im4mrFTBIMct6m blPvs+Q05FONK9Ts2FvjxeH1t X-Received: by 2002:a05:622a:4c17:b0:527:73d6:f6f5 with SMTP id d75a77b69052e-52b567f7b9bmr121759021cf.41.1785660363448; Sun, 02 Aug 2026 01:46:03 -0700 (PDT) X-Received: by 2002:a05:622a:4c17:b0:527:73d6:f6f5 with SMTP id d75a77b69052e-52b567f7b9bmr121758801cf.41.1785660362971; Sun, 02 Aug 2026 01:46:02 -0700 (PDT) Received: from [127.0.1.1] ([178.197.223.174]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49808191ef9sm139198195e9.1.2026.08.02.01.45.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Aug 2026 01:46:01 -0700 (PDT) From: Krzysztof Kozlowski Date: Sun, 02 Aug 2026 10:45:32 +0200 Subject: [PATCH v2 10/11] 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: <20260802-n-dts-style-checker-continued-v2-10-6c5dbd1ccfe4@oss.qualcomm.com> References: <20260802-n-dts-style-checker-continued-v2-0-6c5dbd1ccfe4@oss.qualcomm.com> In-Reply-To: <20260802-n-dts-style-checker-continued-v2-0-6c5dbd1ccfe4@oss.qualcomm.com> To: Rob Herring , Saravana Kannan , Test User , Krzysztof Kozlowski , Conor Dooley Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=10971; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=+aQWcAZ0TVLFGD4KZ0COiKYzxux9CyMlFJZtzARC2lo=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqbwOyrWBV7CWFh9ikkpBZpm6JcW9GXMtUcSX+K l6jZ0LGrFWJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCam8DsgAKCRDBN2bmhouD 1zOeD/4letudxEtMtgywYxU9Zee4QVYFZh+aVDHG0NiJn64QxseIFOeMLcAgbJjl7z0I26q7Lm3 UW04UHKIgNlqHlwKoD2/eogDbqNbHofD67igRiylOVBszlGIPrddI0YYYL/8C2UR3XXvUqv1QlD miTghiU5FZsrW1qHZ3n/hhU2DqcK1t3J6a3zQmbMRa7hBQmtjATIm6vvEbLLf3uTvfimTsUOuu4 tCFtdF2tUk415VX5mAXss8jpi6nXUzm8HIT9GRxKEf76JVfdenAugKyMCLXFMJAof4x7S3vWBGW oypo5SraDYz+ZkZqG5Qr6EWBmta1jefTHchjlEVOewLJJhXC76tCwqFhiq+dqOyqSaa51jezIC9 Fd+j2v93kHDyGt6cfB91syBf83AL294MHXtBq4TON8NN6SzXd/yHEYWXg+xq5OMEAE681+AItCh iLVYYk6vbEM+VfLzPplpcB7VgG2s0nle1Nbi78ZAwfTI9g1jhVJRExnqtoludK5ZZHUyIWg3TIx LxknV1VA7fuMAETdclYsjkt6LiA/aGKkmepXmjM44ieZRU0qG9fu7yLfLqfNuxe0j0PdFyhOnZz yzpJtXVYouDAU0CK9S3Ci4rlv069splPiLdHX9RlQSUC/eG+kvmDhJfBGPNPfqKFyfWuEIwvvmZ 8aFj2skq+KA3y9Q== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-ORIG-GUID: _Q-lGxPdOE88qG7OwvMNVth4r3FcajYC X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAyMDA3MiBTYWx0ZWRfX8xdD3/3ey+8x ABQ4KarIUG4JGQFbannuE3ACMZAYSJ+yKMtpFvMu+zjcZNfsa9Q6QCeTmD3HGnulvgdhLtqXRr0 KRU8mHqbOG8LMjlOc/yPuXKpjNcE3aKy0js+CXarzthi16Wey8i+Ue7wWb1DjghKbFDWl2ZQyBj WSUqHUamjzNpiUArZ+eaucQrsLuf7pwIF8Gdw7a+FLjpNFgVd8buePCT2qICs6Z/nneMnv8VhJm rn/pk4z33ybWEksaHk5J37Wb2w4GzmG7PTHHOhTMss4QsSVlnEKF7lc/fKIov4wRAj6roLxRQuF qK4UIkpZpiAeSEBmeXiD9sp8GUbAcuQ9Au7SfyFe445y2ZmD70WBFK860ULyLX/6qKRUyZkVnbr Hs0G0guJqbzjP12hkOKDaVfiFlBSvcghVx1g5JBOZKUAHa2WEywdXQvysrmoE/2JMQ0HD/ys+za i39IK4BfuTnUHJsiNSw== X-Authority-Analysis: v=2.4 cv=TpfWQjXh c=1 sm=1 tr=0 ts=6a6f03cc cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=N6niishs+lR9UBL1FN3Qrw==: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=EUspDBNiAAAA:8 a=A1X0JdhQAAAA:8 a=B8xk_V0qu_cBOhDEdJwA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 a=sptkURWiP4Gy88Gu7hUp:22 X-Proofpoint-GUID: _Q-lGxPdOE88qG7OwvMNVth4r3FcajYC X-Proofpoint-Spam-Info: AW1haW4tMjYwODAyMDA3MiBTYWx0ZWRfXw4apXFIntqRU lkTZgBe8ey6imKP6HJZyZ8Z3+8GaI1oz4MSQQUDD4XC+Fbyj98R8E5LNClSiaxJEpem2+8x7jc1 wN4CK2QElq70foUXGkwymeuNteQ7yoE= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-02_03,2026-07-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 phishscore=0 spamscore=0 clxscore=1015 suspectscore=0 malwarescore=0 adultscore=0 bulkscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608020072 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 | 29 +++++++++++++++++ .../dt-style-selftest/bad/yaml-redundant-ws.yaml | 29 +++++++++++++++++ .../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 ++ 9 files changed, 180 insertions(+) diff --git a/scripts/dtc/dt-check-style b/scripts/dtc/dt-check-style index 56d8d0c217f2..6512cf5cfdde 100755 --- a/scripts/dtc/dt-check-style +++ b/scripts/dtc/dt-check-style @@ -348,6 +348,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.raw): + yield (dl.lineno, 'extra whitespace before {') + if re.search(r':(\s\s+|\t)', dl.raw): + yield (dl.lineno, 'extra whitespace after :') + if re.search(r'\s+;', dl.raw): + 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.raw): + yield (dl.lineno, 'extra whitespace before =3D') + if re.search(r'=3D(\s\s+|\t)', dl.raw): + 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..d73908b2ab0f --- /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 { + compatible =3D "simple-bus"; + ranges =3D <0 0 0 0xc0000000>; + + #address-cells =3D <1>; + #size-cells =3D <1>; + } ; +}; + +&soc { + serial: serial@20000 { + 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..2fedf462ca56 --- /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 { + compatible =3D "simple-bus"; + ranges =3D <0 0 0 0xc0000000>; + + #address-cells =3D <1>; + #size-cells =3D <1>; + } ; +}; + +&soc { + serial: serial@20000 { + 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..14c2346d7658 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/bad/yaml-redundant-ws-strict.yaml @@ -0,0 +1,29 @@ +# 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: + - Test User + +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>; + } ; 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..db265402d0e8 --- /dev/null +++ b/scripts/dtc/dt-style-selftest/bad/yaml-redundant-ws.yaml @@ -0,0 +1,29 @@ +# 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: + - Test User + +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>; + } ; 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..a70b365b6cf5 --- /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:29: 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 Fri Oct 2 11:42:56 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 DBF883939D0 for ; Sun, 2 Aug 2026 08:46:06 +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=1785660368; cv=none; b=ZUR4Mpi1RT5CxrpVMFhJ3qj3NJ5JQhub40YdVtXj0fGYKXTe/vNS/YbDpcH/sZ550wrg7N27ZXynd8r0WpHtQdcj+Liv+ixRSsnCwgq2BeEFbuaNBkPWRRLqBBbrLZ5NSYCycMtQNOt2MNVF0UC0tPcH1fe2b7TigdZ/8jK48eg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785660368; c=relaxed/simple; bh=47cyNALqJ25eM2F66KQ/8ZGVEN82PFz8l8ZFAkfaakQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Vbzm2Mv6n+lAeug4wfzZjSwGXuEnvqhorKiOLPoyanmsDcSZrA+1vAxKDGHGnYErxgyOdZxrbaHJ/c+Pe0Qm9AX5V3bArcSXxh4xknXKo8zCipD7OCoynGV2BnYzgjOaFOIGGcFvnlR6JGwPqUdNKdEJli7auJ7GP/292ry22G0= 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=WfsJMkvU; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=U9cwJJlm; 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="WfsJMkvU"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="U9cwJJlm" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6727laD21261725 for ; Sun, 2 Aug 2026 08:46:06 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= 5CF8fZpPPj1Voth88QksP9FtwhMfjRo8kHp6QcvcnYo=; b=WfsJMkvUjTCHf8Iy 1iQOzh48La8bWZInsCh2wmcuYHO0ZtEeyzBFeDLVKgPAeCgzr3EuKXFhxuaAaUnx CMuc3kwFtykYU1Cb6nEjT24v7a7dsFva3VW/SyX5l3rcVJwGCa1zN+RL31ElkR6i ZbQ59lP/wQrJzRgY3k8S107Wxq5h7Lmdn+bxEawBKh4dvXm0VKmjTBj6+ft8apX7 xrHpgVgVdyW1Hc745pC5Xzx7Nt2RNRE3MY6E046TcykcRO8mgrK+fnXy8Wdmh72I AYixXgnVPhNwXEQy4eZmGI6csV8G4KbC65BVLKP5slDuxuAT/0F7u9ebWmj2Iiko dlVC9w== 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 4fs911agd4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 02 Aug 2026 08:46:06 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c1eb52e1fso42193381cf.0 for ; Sun, 02 Aug 2026 01:46:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785660365; x=1786265165; 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=5CF8fZpPPj1Voth88QksP9FtwhMfjRo8kHp6QcvcnYo=; b=U9cwJJlmHbamS7eYIQB5GMsQiG9FGUr838MaSv/v3nUII8XJlcY4gRFRQRW2DCywfH Bs5zFbEKXER3mcNXI9O6zd66/0RG1OHRrki/cs2TDeO7RMqooiOZVeF8AGZGxoLaV8bC MbG3rsF9iDeJZRO+xq3/Sg//qglJEPh1QuqTmRl+uuG5/eyeN7TQwBaHhcCBNyNMIdBP rn0bKfUcN0BMUN8ouDMm/3j2IDKmjkhE+mP4Qm9B2rfDDZ+Y4/aayy1V/X00ccQ4UWfS dMPQBvayIV4/CbfE0dM4Iq7EDDpy5rL5sWIFGfuqVpfYSnUguvVSsHUKprpsrvbWXrW/ 7ZuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785660365; x=1786265165; 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=5CF8fZpPPj1Voth88QksP9FtwhMfjRo8kHp6QcvcnYo=; b=R24kFfnhJJdo1IqgYzCJEeib8J+T846yv/dV3J/LktqPjeuynfTZHzfMQ2ZlF4Qghj q+Fbl8HHWVxi+qbLmlr6aawDXbQqsNWhYoRGmEi/vnMt8JsQTi1bCDoobDajGi+g/Yed A6tYkE8fYQ7PSurrEaxG4flGawPJthTcTC23TLmGCrdzPn2psxvmWf7NvoaSWN4pM1Qk TiI7sxtLFE07BC31peo7CYiLVwD4LT60HNjJ2z/jI0uJga8zb5xjAaM8d5vBBHXIz1eK BJVYmbsiMatVRFp4bxT8KQOmdQ8ijS9e/nMoYQHZ/Jl8VDBFV88t2OhlLLFByy3ug43w TuzA== X-Forwarded-Encrypted: i=1; AHgh+RqIf/UCTQZ5SeSdEUxkKbPcp32KkvkX9WQBihug11ftLnz9NFfuMAi3x3GB47VhXI+jDuSCPq0bMctmCuI=@vger.kernel.org X-Gm-Message-State: AOJu0Yx9FPt1nQa6P4nlXP/d6kugpcBkdO6L2l2OykRM1Iupgu61pRIV qBTTt5sGykDf7b4G3sItzm7kHDG6OExvJv43aQ5tZHjih7z6Q3vqKRq1h//2TsfETL8vL2KMl8i uHx6WcOKOXRPMJ8obujV0Z0Z4Fpw7u2n6/FM/iSz1lXbNfrVH+CmwXMeOhWGmIsAQEndJ1Ur0Qf 4= X-Gm-Gg: AR+sD10xYohCy2nYYx3JEczxNAD/WfvSnGBrO8GJw0+ZfAIWqOsLt8nrQOSZb3xTVxP zjBIZCQuoGoQIQ/aI/lAfFRIFgnikRyAir0xHydERES9FTqXdviS2tWPc8+Pi2lPCEzOBImZQAD PXzPJ5YFazZ2BUjLOhtjqFk8HfeG5KCmjf5FkQkf89RAz9w8NjPhVNczATRfUJU8t+Oh6m+mLW7 D0HIkW+fWJErOeztJJy9j5vDaOlKI4DV75HNXdOLwpb7IWLDYl6AcnyHIMZHGJ85pIEzN+WE71F BL0usKOqHtjI8dAJCtNAKaQ8Se9zte6Tl/ImVI5KS2SZxNdWWtcRSr89WGyGKSVojKDNPq6YHM/ vD+iwXp5h4Lg5cHaLzi1EiYys X-Received: by 2002:ac8:5742:0:b0:51c:185b:29e0 with SMTP id d75a77b69052e-52b566929d4mr109914441cf.10.1785660365298; Sun, 02 Aug 2026 01:46:05 -0700 (PDT) X-Received: by 2002:ac8:5742:0:b0:51c:185b:29e0 with SMTP id d75a77b69052e-52b566929d4mr109914271cf.10.1785660364830; Sun, 02 Aug 2026 01:46:04 -0700 (PDT) Received: from [127.0.1.1] ([178.197.223.174]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49808191ef9sm139198195e9.1.2026.08.02.01.46.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Aug 2026 01:46:03 -0700 (PDT) From: Krzysztof Kozlowski Date: Sun, 02 Aug 2026 10:45:33 +0200 Subject: [PATCH v2 11/11] 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: <20260802-n-dts-style-checker-continued-v2-11-6c5dbd1ccfe4@oss.qualcomm.com> References: <20260802-n-dts-style-checker-continued-v2-0-6c5dbd1ccfe4@oss.qualcomm.com> In-Reply-To: <20260802-n-dts-style-checker-continued-v2-0-6c5dbd1ccfe4@oss.qualcomm.com> To: Rob Herring , Saravana Kannan , Test User , Krzysztof Kozlowski , Conor Dooley Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=842; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=47cyNALqJ25eM2F66KQ/8ZGVEN82PFz8l8ZFAkfaakQ=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqbwOzFm7VfDXF1wVIm2aEZygjTTS7Xz6+2HDbc HHHCqsyt5+JAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCam8DswAKCRDBN2bmhouD 18oID/9iB1wQB0JHg8hmi62lTkw6CKpXbI11jGLVHOIJ3wurR+Hy9z5MQO+G6934h6FWYYQsBlY GeoW5UEvky9nB1qX4OUmw+cE91ghqmTTCqJN01FZS/59RDnV3bMqdaUCPUCWMQhuhGh/RsShAlZ UWSeMpcPamHbNHPIgGmN+94K6i/8YJ9lUtA1iX4kd5RHMSRN26FbYVeeh0nrquU+OBsc4e4Ap/H oAUjyo0LLzUABYh7EkuVzfGD31CaNLkcQQrxyqv3sLp3gPNtOfDJZxeejEsr7j2scsCscaLgckV zsOtWwzntz8DEpEH6c05CRX9J4grxJtoPCcq8kqzOTLVqalmQ+lO+vU5sRRwzXH5ANm/Z8CS6IX dmAgieRFAq4cCcSdnCx5VFvpYnRcinNWX1Rr9Kk6WJSi0rg03crmSLTCaarv3qG9lm5rIQzJOll 6SVbGjgA5AghSRU7J8CarRnhk2SEsOz5DC7uJvEUpT6jCXJ0+I3JwLnFmoiBIiBIwRG+RcMYEbk jAYFgL/AR6YIno2JdINtvJ4D6diMQqO0k4P6EVnV4fiDTFS1Qe2FtHPIhElsH3avw3FqfiFJmrr 9G1wZhstc+CcXKoymUy6ZA9AvtCJ5gzJY4H0zs86HKEm/fre0FJiLvfd0NzTk+1qRzsammWLWaX G1KS1jI9eQoGHRw== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-Spam-Info: AW1haW4tMjYwODAyMDA3MiBTYWx0ZWRfX+VESfTem4HqV Trrms38EGXKxUCSdnMMuuwBdnb1E1vlHTLnhvzbiYap7MMgq1nT8WlwMyx9TOmRClE4Ds/GP84j 9Uu3HIjXt/D2E0vSH5ZiBIVWOKVTQ3c= X-Authority-Analysis: v=2.4 cv=PvGjqQM3 c=1 sm=1 tr=0 ts=6a6f03ce cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=N6niishs+lR9UBL1FN3Qrw==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=hdCJvu6vi-O6ykQZt0QA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-GUID: lsj1NLJtZf1WZ_Xggocp_M4FP1lG-KA8 X-Proofpoint-ORIG-GUID: lsj1NLJtZf1WZ_Xggocp_M4FP1lG-KA8 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAyMDA3MiBTYWx0ZWRfX4Y2m4/0x8tet paxvAl+PpyKZ6zgV0gBfpHoSP3jkrY06ny15cl9ODbtZYT5sv3N+yVrvG6T2mUfiwzhhS5DjBEx Gb4vqNW/W13PGl+DCyMI9g0ewrbEUuMNch90hHiH2UDTfLNLVAhgBHFk5vq7++tA52GYWAxxBQ0 eBEqLY66bTEuBOYoRJo+jb03jUW5lMRMtuhkj8h0Heharbk1Cs9MOPmJwsVb6v2kVKiqrazTO3G 6l1Nh4/VarSsq2+ClaARTNah56JtRSh8BW2XYfK00LHLJeVYuGiVkquuQcRe5+WLPk5JzNaiZ4U uo7zs5vVncmr0pCe84kP6BZ8Pbjdl1PTJ14yZp283rZRok7TFTRyRtiwlqOHDp1J80j0NyyxN7/ t0opv6F9SHawzslS21hvXeNy2z/EV5YZT9GGt0gHar4krXbE0/l1VhFeno8BTHPVElOnBBQYUwh vvRGYpBvDzRIDq/hPcg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-02_03,2026-07-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 clxscore=1015 lowpriorityscore=0 bulkscore=0 priorityscore=1501 adultscore=0 impostorscore=0 phishscore=0 spamscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608020072 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 cc3c01eecfa2..2d0cd7602a05 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -20374,6 +20374,8 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/gi= t/robh/linux.git F: Documentation/devicetree/ 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