Re: [PATCH V7 6/6] of: unittest: Statically apply overlays using fdtoverlay
From: Viresh Kumar <viresh.kumar@linaro.org>
Date: 2021-02-09 04:33:44
Also in:
lkml
Subsystem:
arm/hisilicon soc support, kernel build + files below scripts/ (unless maintained elsewhere), the rest · Maintainers:
Wei Xu, Nathan Chancellor, Nicolas Schier, Linus Torvalds
On 08-02-21, 08:21, Rob Herring wrote:
In string 'm' replace '.dtb' with '-dtbs'. Then we get the value of that variable.
Ah, thanks. I was able to get everything to work as expected now :)
quoted
ifneq ($(CHECK_DTBS),) extra-y += $(patsubst %.dtb,%.dt.yaml, $(dtb-y)) +extra-y += $(patsubst %.dtbo,%.dt.yaml, $(dtb-y)) extra-$(CONFIG_OF_ALL_DTBS) += $(patsubst %.dtb,%.dt.yaml, $(dtb-)) +extra-$(CONFIG_OF_ALL_DTBS) += $(patsubst %.dtbo,%.dt.yaml, $(dtb-)) endifI'll have to try that out. I think that should work.
It works with your patch itself, just that it was done after the failure and so wasn't happening.
quoted
2. This fails dtbs_check as it tries to run it for the source file of test1.dtb $ make ARCH=arm64 O=../barm64/ -j8 CROSS_COMPILE=aarch64-linux-gnu- dtbs_check make[1]: Entering directory '/mnt/ssd/all/work/repos/devel/barm64' make[3]: *** No rule to make target 'arch/arm64/boot/dts/hisilicon/test1.dt.yaml', needed by '__build'. Stop. /mnt/ssd/all/work/repos/devel/linux/scripts/Makefile.build:496: recipe for target 'arch/arm64/boot/dts/hisilicon' failed make[2]: *** [arch/arm64/boot/dts/hisilicon] Error 2 make[2]: *** Waiting for unfinished jobs.... /mnt/ssd/all/work/repos/devel/linux/Makefile:1345: recipe for target 'dtbs' failed make[1]: *** [dtbs] Error 2 make[1]: Leaving directory '/mnt/ssd/all/work/repos/devel/barm64' Makefile:185: recipe for target '__sub-make' failed make: *** [__sub-make] Error 2 I am not sure how to fix this.Even if we fixed the make rules, it's not going to work with validation. There's some information from source files that we maintain in yaml output, but is lost in dtb output. For example, the sizes of /bits/ syntax are maintained. For now, I think we'll want to just validate base and overlays separately. We may need to turn off checks in overlays for required properties as they may be incomplete. We already do that on disabled nodes.
I did this instead and it made everything work, we don't try dt.yaml for the test1.dtb file anymore, is this acceptable ?
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 886d2e6c58f0..b86ff1b3de14 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib@@ -66,7 +66,7 @@ multi-used := $(multi-used-y) $(multi-used-m) real-obj-y := $(foreach m, $(obj-y), $(if $(strip $($(m:.o=-objs)) $($(m:.o=-y)) $($(m:.o=-))),$($(m:.o=-objs)) $($(m:.o=-y)),$(m))) real-obj-m := $(foreach m, $(obj-m), $(if $(strip $($(m:.o=-objs)) $($(m:.o=-y)) $($(m:.o=-m)) $($(m:.o=-))),$($(m:.o=-objs)) $($(m:.o=-y)) $($(m:.o=-m)),$(m))) -real-dtb-y := $(foreach m,$(dtb-y), $(if $(strip $($(m:.dtb=-dtbs))),$($(m:.dtb=-dtbs)),)) +real-dtb-y := $(foreach m,$(overlay-y), $(if $(strip $($(m:.dtb=-dtbs))),$($(m:.dtb=-dtbs)),)) dtb-y += $(real-dtb-y) always-y += $(always-m)
diff --git a/arch/arm64/boot/dts/hisilicon/Makefile b/arch/arm64/boot/dts/hisilicon/Makefile
index f4d68caeba83..69ca27014e89 100644
--- a/arch/arm64/boot/dts/hisilicon/Makefile
+++ b/arch/arm64/boot/dts/hisilicon/Makefile@@ -6,3 +6,8 @@ dtb-$(CONFIG_ARCH_HISI) += hi6220-hikey.dtb dtb-$(CONFIG_ARCH_HISI) += hip05-d02.dtb dtb-$(CONFIG_ARCH_HISI) += hip06-d03.dtb dtb-$(CONFIG_ARCH_HISI) += hip07-d05.dtb + +DTC_FLAGS_hi3660-hikey960 += -@ + +test1-dtbs := hi3660-hikey960.dtb hi3660-hikey960-overlay.dtbo +overlay-y += test1.dtb
diff --git a/arch/arm64/boot/dts/hisilicon/hi3660-hikey960-overlay.dts b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960-overlay.dts
new file mode 100644
index 000000000000..1235a911caae
--- /dev/null
+++ b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960-overlay.dts@@ -0,0 +1,16 @@ +// SPDX-License-Identifier: GPL-2.0 +/dts-v1/; +/plugin/; + +&dwmmc2 { + #address-cells = <0x1>; + #size-cells = <0x0>; + + wlcore2: wlcore@5 { + compatible = "ti,wl1837"; + reg = <2>; + interrupt-parent = <&gpio22>; + interrupts = <3 1>; + test = <1>; + }; +};
--
viresh