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 :) > > 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-)) > > endif > > I'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. > > 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