[PATCH V6 0/6] dt: build overlays

From: Viresh Kumar
Date: Fri Jan 22 2021 - 06:01:29 EST


Hi Frank/Rob,

This patchset makes necessary changes to the kernel to add support for
building overlays (%.dtbo) and the required fdtoverlay tool. This also
builds static_test.dtb using most of the existing overlay tests present
in drivers/of/unittest-data/ for better test coverage.

Note that in order for anyone to test this stuff, you need to manually
run the ./update-dtc-source.sh script once to fetch the necessary
changes from the external DTC project (i.e. fdtoverlay.c and this[1]
patch).

Also note that Frank has already shared his concerns towards the error
reporting done by fdtoverlay tool [2], and David said it is not that
straight forward to make such changes in fdtoverlay. I have still
included the patch in this series for completeness.

FWIW, with fdtoverlay we generate a new build warning now, not sure why
though:

drivers/of/unittest-data/tests-interrupts.dtsi:20.5-28: Warning (interrupts_property): /testcase-data/testcase-device2:#interrupt-cells: size is (4), expected multiple of 8

V6:
- Create separate rules for dtbo-s and separate entries in .gitignore in
4/6 (Masahiro).
- A new file layout for handling all overlays for existing and new tests
5/6 (Frank).
- Include overlay.dts as well now in 6/6 (Frank).

V5:

- Don't reuse DTC_SOURCE for fdtoverlay.c in patch 1/5 (Frank).

- Update .gitignore and scripts/Makefile.dtbinst, drop dtbo-y syntax and
DTC_FLAGS += -@ in patch 4/5 (Masahiro).

- Remove the intermediate dtb, rename output to static_test.dtb, don't
use overlay.dtb and overlay_base.dtb for static builds, improved
layout/comments in Makefile for patch 5/5 (Frank).

--
Viresh

[1] https://github.com/dgibson/dtc/commit/163f0469bf2ed8b2fe5aa15bc796b93c70243ddc
[2] https://lore.kernel.org/lkml/74f8aa8f-ffab-3b0f-186f-31fb7395ebbb@xxxxxxxxx/

Viresh Kumar (6):
scripts: dtc: Fetch fdtoverlay.c from external DTC project
scripts: dtc: Build fdtoverlay tool
scripts: dtc: Remove the unused fdtdump.c file
kbuild: Add support to build overlays (%.dtbo)
of: unittest: Create overlay_common.dtsi and testcases_common.dtsi
of: unittest: Statically apply overlays using fdtoverlay

.gitignore | 1 +
Makefile | 5 +-
drivers/of/unittest-data/Makefile | 51 ++++++
drivers/of/unittest-data/overlay_base.dts | 90 +---------
drivers/of/unittest-data/overlay_common.dtsi | 91 ++++++++++
drivers/of/unittest-data/static_base.dts | 5 +
drivers/of/unittest-data/testcases.dts | 17 +-
.../of/unittest-data/testcases_common.dtsi | 18 ++
scripts/Makefile.dtbinst | 3 +
scripts/Makefile.lib | 5 +
scripts/dtc/Makefile | 6 +-
scripts/dtc/fdtdump.c | 163 ------------------
scripts/dtc/update-dtc-source.sh | 3 +-
13 files changed, 187 insertions(+), 271 deletions(-)
create mode 100644 drivers/of/unittest-data/overlay_common.dtsi
create mode 100644 drivers/of/unittest-data/static_base.dts
create mode 100644 drivers/of/unittest-data/testcases_common.dtsi
delete mode 100644 scripts/dtc/fdtdump.c

--
2.25.0.rc1.19.g042ed3e048af