From: Waqar Hameed <waqar.hameed@axis.com>
To: Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>,
Abel Vesa <abelvesa@kernel.org>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>
Cc: <kernel@axis.com>, <linux-arm-msm@vger.kernel.org>,
<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: [PATCH 00/38] arm: dts: qcom: Format with dtfmt
Date: Fri, 2 Oct 2026 00:36:30 +0200 [thread overview]
Message-ID: <cover.1790892852.git.waqar.hameed@axis.com> (raw)
I was looking through the notes for the last Devicetree microconference
at Linux Plumbers (LPC) 2025 [1], and realized that the tool I have been
working on might be of interest here: dtfmt - a Devicetree Source
formatter [2].
dtfmt uses a parser with lexical grammar (tree-sitter) directly ported
from the actual Device Tree Compiler's (dtc) lexer/parser, also
(hand)written by me [3]. It is primarily designed for the Linux kernel
and currently parses all 6872 devicetree files in the tree successfully
(found with `find . -iregex ".+\.dts[io]?$"`).
This tool was developed out of frustration when reviewing devicetree
patches internally at my company Axis. I would have published it earlier
if I was aware of the on-going discussions at LPC 2025. It only caught
my attention since I'm planning to attend LPC this year (especially the
Devicetree microconference and would therefore love to discuss this more
in-person!).
This patch series is only a small demonstration of dtfmt, primarily to
get Konrad Dybcio in the "To:"-field (who did the presentation on LPC
2025). Obviously one can run dtfmt for all files and generate a much
bigger diff. There have been patches sent for
`arch/arm64/boot/dts/exynos/` previously [4].
Please note that since we don't currently have a _definitive_ style
guide for Devictree Source files, dtfmt tries to be pragmatic and try to
"guess" the intended style (e.g. alignment of arrays and comma separated
property data). Some things have been left out (for now) or manually
edited, because it's too hard to implement without any concrete style
decisions in place (e.g. alignment of comments, long line wrapping
etc.). dtfmt will continue to develop and will always align with the
Linux kernel. Feedback (and collaboration) is therefore greatly
appreciated!
[1] https://lpc.events/event/19/sessions/237/attachments/1713/4459/Notes%20-%20Devicetree%20MC%20-%20LPC%202025.pdf
[2] https://codeberg.org/whame/dtfmt
Mirror: https://github.com/whame/dtfmt
[3] https://codeberg.org/whame/tree-sitter-devicetree
Mirror: https://github.com/whame/tree-sitter-devicetree
[4] https://lore.kernel.org/lkml/cover.1790629313.git.waqar.hameed@axis.com/
Waqar Hameed (38):
arm: dts: qcom: pm8226: Add newline between subnodes
arm: dts: qcom: pm8841: Remove superfluous empty lines
arm: dts: qcom: pm8921: Remove superfluous empty lines
arm: dts: qcom: pm8941: Remove superfluous empty lines
arm: dts: qcom: pm8084: Remove superfluous empty line
arm: dts: qcom: apq8026: Add newline between subnodes
arm: dts: qcom: apq8026: Add space between OR-operator
arm: dts: qcom: apq8060: Add newline between subnodes
arm: dts: qcom: apq8060: Align multiple property data
arm: dts: qcom: apq8060: Indent property data with tab
arm: dts: qcom: apq8064: Add newline between subnodes
arm: dts: qcom: apq8064: Remove empty line at end of node
arm: dts: qcom: apq8064: Add space before line comments
arm: dts: qcom: apq8064: Align multiple property data
arm: dts: qcom: apq8064: Remove tab after property name
arm: dts: qcom: ipq4018: Indent closing brace properly
arm: dts: qcom: ipq4019: Add newline between subnodes
arm: dts: qcom: ipq4019: Align multiple property data
arm: dts: qcom: ipq4019: Break long property array data
arm: dts: qcom: ipq8064: Add newline between subnodes
arm: dts: qcom: ipq8064: Align multiple property data
arm: dts: qcom: ipq8064: Break long property array data
arm: dts: qcom: msm8226: Add space between OR-operator
arm: dts: qcom: msm8226: Add newline between subnodes
arm: dts: qcom: ipq8064: Break long property array data
arm: dts: qcom: msm8226: Align multiple property data
arm: dts: qcom: msm8660: Remove empty line at end of node
arm: dts: qcom: msm8660: Remove space inside array property
arm: dts: qcom: msm8660: Align closing array bracket
arm: dts: qcom: msm8916: Add newline between subnodes
arm: dts: qcom: msm8960: Properly indent subnodes
arm: dts: qcom: msm8660: Align closing array bracket
arm: dts: qcom: msm8974: Align multiple property data
arm: dts: qcom: msm8974: Align closing brace properly
arm: dts: qcom: msm8974: Add newline between subnodes
arm: dts: qcom: sdx55: Properly indent subnode
arm: dts: qcom: sdx65: Remove empty line at end of node
arm: dts: qcom: sdx65: Align multiple property data
arch/arm/boot/dts/qcom/pm8226.dtsi | 5 +
arch/arm/boot/dts/qcom/pm8841.dtsi | 2 -
arch/arm/boot/dts/qcom/pm8921.dtsi | 2 -
arch/arm/boot/dts/qcom/pm8941.dtsi | 3 -
arch/arm/boot/dts/qcom/pma8084.dtsi | 1 -
.../dts/qcom/qcom-apq8026-asus-sparrow.dts | 32 +++++
.../boot/dts/qcom/qcom-apq8026-lg-lenok.dts | 27 +++++
.../qcom/qcom-apq8026-samsung-milletwifi.dts | 4 +-
.../dts/qcom/qcom-apq8060-dragonboard.dts | 54 ++++++---
.../dts/qcom/qcom-apq8064-asus-nexus7-flo.dts | 7 +-
.../qcom-apq8064-sony-xperia-lagan-yuga.dts | 1 -
arch/arm/boot/dts/qcom/qcom-apq8064.dtsi | 114 +++++++++---------
.../boot/dts/qcom/qcom-ipq4018-ap120c-ac.dtsi | 3 +-
.../boot/dts/qcom/qcom-ipq4019-ap.dk01.1.dtsi | 1 +
.../boot/dts/qcom/qcom-ipq4019-ap.dk04.1.dtsi | 11 +-
.../dts/qcom/qcom-ipq4019-ap.dk07.1-c1.dts | 3 +-
arch/arm/boot/dts/qcom/qcom-ipq4019.dtsi | 16 ++-
arch/arm/boot/dts/qcom/qcom-ipq8064-v1.0.dtsi | 1 +
arch/arm/boot/dts/qcom/qcom-ipq8064-v2.0.dtsi | 1 +
arch/arm/boot/dts/qcom/qcom-ipq8064.dtsi | 29 +++--
.../qcom-msm8226-samsung-matisse-common.dtsi | 4 +-
arch/arm/boot/dts/qcom/qcom-msm8226.dtsi | 18 ++-
arch/arm/boot/dts/qcom/qcom-msm8660-surf.dts | 2 +-
arch/arm/boot/dts/qcom/qcom-msm8660.dtsi | 6 +-
arch/arm/boot/dts/qcom/qcom-msm8916-smp.dtsi | 3 +
arch/arm/boot/dts/qcom/qcom-msm8960-cdp.dts | 18 +--
arch/arm/boot/dts/qcom/qcom-msm8974.dtsi | 24 +++-
arch/arm/boot/dts/qcom/qcom-sdx55-t55.dts | 10 +-
arch/arm/boot/dts/qcom/qcom-sdx65.dtsi | 14 +--
29 files changed, 264 insertions(+), 152 deletions(-)
base-commit: 6c2cb8b8b843d216ab549b678a0d8831c43153e0
--
2.43.0
next reply other threads:[~2026-10-01 22:36 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-01 22:36 Waqar Hameed [this message]
2026-10-01 22:36 ` [PATCH 02/38] arm: dts: qcom: pm8841: Remove superfluous empty lines Waqar Hameed
2026-10-01 22:36 ` [PATCH 01/38] arm: dts: qcom: pm8226: Add newline between subnodes Waqar Hameed
2026-10-01 22:36 ` [PATCH 03/38] arm: dts: qcom: pm8921: Remove superfluous empty lines Waqar Hameed
2026-10-01 22:36 ` [PATCH 04/38] arm: dts: qcom: pm8941: " Waqar Hameed
2026-10-01 22:36 ` [PATCH 05/38] arm: dts: qcom: pm8084: Remove superfluous empty line Waqar Hameed
2026-10-01 22:36 ` [PATCH 06/38] arm: dts: qcom: apq8026: Add newline between subnodes Waqar Hameed
2026-10-01 22:36 ` [PATCH 07/38] arm: dts: qcom: apq8026: Add space between OR-operator Waqar Hameed
2026-10-01 22:36 ` [PATCH 09/38] arm: dts: qcom: apq8060: Align multiple property data Waqar Hameed
2026-10-01 22:36 ` [PATCH 08/38] arm: dts: qcom: apq8060: Add newline between subnodes Waqar Hameed
2026-10-01 22:36 ` [PATCH 11/38] arm: dts: qcom: apq8064: " Waqar Hameed
2026-10-01 22:36 ` [PATCH 10/38] arm: dts: qcom: apq8060: Indent property data with tab Waqar Hameed
2026-10-01 22:36 ` [PATCH 12/38] arm: dts: qcom: apq8064: Remove empty line at end of node Waqar Hameed
2026-10-01 22:36 ` [PATCH 14/38] arm: dts: qcom: apq8064: Align multiple property data Waqar Hameed
2026-10-01 22:36 ` [PATCH 13/38] arm: dts: qcom: apq8064: Add space before line comments Waqar Hameed
2026-10-01 22:36 ` [PATCH 16/38] arm: dts: qcom: ipq4018: Indent closing brace properly Waqar Hameed
2026-10-01 22:36 ` [PATCH 15/38] arm: dts: qcom: apq8064: Remove tab after property name Waqar Hameed
2026-10-01 22:36 ` [PATCH 17/38] arm: dts: qcom: ipq4019: Add newline between subnodes Waqar Hameed
2026-10-01 22:36 ` [PATCH 18/38] arm: dts: qcom: ipq4019: Align multiple property data Waqar Hameed
2026-10-01 22:36 ` [PATCH 19/38] arm: dts: qcom: ipq4019: Break long property array data Waqar Hameed
2026-10-01 22:36 ` [PATCH 20/38] arm: dts: qcom: ipq8064: Add newline between subnodes Waqar Hameed
2026-10-01 22:36 ` [PATCH 21/38] arm: dts: qcom: ipq8064: Align multiple property data Waqar Hameed
2026-10-01 22:36 ` [PATCH 23/38] arm: dts: qcom: msm8226: Add space between OR-operator Waqar Hameed
2026-10-01 22:36 ` [PATCH 22/38] arm: dts: qcom: ipq8064: Break long property array data Waqar Hameed
2026-10-01 22:36 ` [PATCH 24/38] arm: dts: qcom: msm8226: Add newline between subnodes Waqar Hameed
2026-10-01 22:36 ` [PATCH 25/38] arm: dts: qcom: ipq8064: Break long property array data Waqar Hameed
2026-10-01 22:36 ` [PATCH 26/38] arm: dts: qcom: msm8226: Align multiple property data Waqar Hameed
2026-10-01 22:36 ` [PATCH 28/38] arm: dts: qcom: msm8660: Remove space inside array property Waqar Hameed
2026-10-01 22:36 ` [PATCH 27/38] arm: dts: qcom: msm8660: Remove empty line at end of node Waqar Hameed
2026-10-01 22:36 ` [PATCH 30/38] arm: dts: qcom: msm8916: Add newline between subnodes Waqar Hameed
2026-10-01 22:36 ` [PATCH 29/38] arm: dts: qcom: msm8660: Align closing array bracket Waqar Hameed
2026-10-01 22:36 ` [PATCH 32/38] " Waqar Hameed
2026-10-01 22:36 ` [PATCH 31/38] arm: dts: qcom: msm8960: Properly indent subnodes Waqar Hameed
2026-10-01 22:36 ` [PATCH 34/38] arm: dts: qcom: msm8974: Align closing brace properly Waqar Hameed
2026-10-01 22:36 ` [PATCH 33/38] arm: dts: qcom: msm8974: Align multiple property data Waqar Hameed
2026-10-01 22:36 ` [PATCH 35/38] arm: dts: qcom: msm8974: Add newline between subnodes Waqar Hameed
2026-10-01 22:36 ` [PATCH 37/38] arm: dts: qcom: sdx65: Remove empty line at end of node Waqar Hameed
2026-10-01 22:36 ` [PATCH 36/38] arm: dts: qcom: sdx55: Properly indent subnode Waqar Hameed
2026-10-01 22:36 ` [PATCH 38/38] arm: dts: qcom: sdx65: Align multiple property data Waqar Hameed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1790892852.git.waqar.hameed@axis.com \
--to=waqar.hameed@axis.com \
--cc=abelvesa@kernel.org \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=kernel@axis.com \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®