[PATCH V7 0/6] dt: build overlays

From: Viresh Kumar
Date: Fri Jan 29 2021 - 02:28:21 EST


Hi,

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).

I have tested this patchset for static and runtime testing (on Hikey
board) and no issues were reported.

V7:
- Add a comment in scripts/dtc/Makefile
- Add Ack from Masahiro for patch 4/6.
- Drop word "merge" from commit log of 2/6.
- Split apply_static_overlay, static_test.dtb, and static_base.dts into
two parts to handle overlay_base.dts and testcases.dts separately.

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 | 56 ++++++
drivers/of/unittest-data/overlay_base.dts | 90 +---------
drivers/of/unittest-data/overlay_common.dtsi | 91 ++++++++++
drivers/of/unittest-data/static_base_1.dts | 4 +
drivers/of/unittest-data/static_base_2.dts | 4 +
drivers/of/unittest-data/testcases.dts | 18 +-
.../of/unittest-data/testcases_common.dtsi | 19 ++
.../of/unittest-data/tests-interrupts.dtsi | 7 -
scripts/Makefile.dtbinst | 3 +
scripts/Makefile.lib | 5 +
scripts/dtc/Makefile | 8 +-
scripts/dtc/fdtdump.c | 163 ------------------
scripts/dtc/update-dtc-source.sh | 3 +-
15 files changed, 204 insertions(+), 273 deletions(-)
create mode 100644 drivers/of/unittest-data/overlay_common.dtsi
create mode 100644 drivers/of/unittest-data/static_base_1.dts
create mode 100644 drivers/of/unittest-data/static_base_2.dts
create mode 100644 drivers/of/unittest-data/testcases_common.dtsi
delete mode 100644 scripts/dtc/fdtdump.c


base-commit: 6ee1d745b7c9fd573fba142a2efdad76a9f1cb04
--
2.25.0.rc1.19.g042ed3e048af