mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 00/38] arm: dts: qcom: Format with dtfmt
@ 2026-10-01 22:36 Waqar Hameed
  2026-10-01 22:36 ` [PATCH 02/38] arm: dts: qcom: pm8841: Remove superfluous empty lines Waqar Hameed
                   ` (37 more replies)
  0 siblings, 38 replies; 39+ messages in thread
From: Waqar Hameed @ 2026-10-01 22:36 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: kernel, linux-arm-msm, devicetree, linux-kernel

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


^ permalink raw reply	[flat|nested] 39+ messages in thread

end of thread, other threads:[~2026-10-01 22:37 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-01 22:36 [PATCH 00/38] arm: dts: qcom: Format with dtfmt Waqar Hameed
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 04/38] arm: dts: qcom: pm8941: Remove superfluous empty lines Waqar Hameed
2026-10-01 22:36 ` [PATCH 03/38] arm: dts: qcom: pm8921: " 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 05/38] arm: dts: qcom: pm8084: Remove superfluous empty line 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 08/38] arm: dts: qcom: apq8060: Add newline between subnodes 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 10/38] arm: dts: qcom: apq8060: Indent property data with tab Waqar Hameed
2026-10-01 22:36 ` [PATCH 11/38] arm: dts: qcom: apq8064: Add newline between subnodes 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 13/38] arm: dts: qcom: apq8064: Add space before line comments 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 15/38] arm: dts: qcom: apq8064: Remove tab after property name 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 17/38] arm: dts: qcom: ipq4019: Add newline between subnodes 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 18/38] arm: dts: qcom: ipq4019: Align multiple property data Waqar Hameed
2026-10-01 22:36 ` [PATCH 21/38] arm: dts: qcom: ipq8064: " 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 22/38] arm: dts: qcom: ipq8064: Break long property array 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 25/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 26/38] arm: dts: qcom: msm8226: Align multiple property data 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 28/38] arm: dts: qcom: msm8660: Remove space inside array property 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 30/38] arm: dts: qcom: msm8916: Add newline between subnodes 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 32/38] arm: dts: qcom: msm8660: Align closing array bracket 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 34/38] arm: dts: qcom: msm8974: Align closing brace properly 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

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®