Whack-a-Mole with DTS Validation in the Linux Kernel
summary
Brought Samsung Exynos to full DT schema compliance and now targets Qualcomm, the largest ARM64 platform with more than 200 supported boards. Uses the DT schema python package to validate DTBs produced by the DTC compiler against bindings, testing across kernels (5.3–6.8). Fixes number in the hundreds and cuts warnings dramatically (Qualcomm arm64 down to ~8 warnings per target). Analysis of ~3,500 DTS-related commits shows ~50% style changes and about 10–12% real bug fixes.
AI-written summary · about
chapters (23)
- 0:00Introduction
- 0:23What is Device Tree and DTS
- 3:37Why validating DT bindings matters
- 5:25Measuring validation warnings
- 7:28Platforms and configurations tested
- 9:16Growth of DT targets over time
- 10:20Types of DT validation warnings
- 12:31DTS validation explained
- 16:23Whack-a-Mole analogy
- 23:04Classifying warning fixes
- 26:16Results of warning analysis
- 30:25Conclusion and future
- 31:06Q&A
- 31:27DT Schema and YAML files
- 31:50Schema updates and drivers
- 32:30Automated validation in checkpatch
- 33:54Overlay compilation with symbols
- 34:59Vendor schema diligence
- 36:22Enabling DT Schema in checkpatch
- 38:28Advice for new contributors
- 40:12Automating DT Schema with GitHub
- 42:18DT Schema support in U-Boot
- 44:48Cross-OS DT adoption
related talks
39mStatus of DTS Validation in Linux Kernel
51mShipping Multiple Devicetrees: How to Identify Which DTB Is for My Board?
44mSolving Devicetree Issues, part 3.0
50mRethinking U-Boot Devicetree Story
34mDTS 101: From Roots To Trees, Aka Devicetree for Beginners
44mBoF: Devicetree
01h 13mDevice Tree for Dummies!
01h 10mBoF: Devicetree
