Skip to content

Commit 8fcd8d1

Browse files
committed
kbuild: clean up code duplication in cmd_fdtoverlay
When resolving a merge conflict, Linus noticed the fdtoverlay command duplication introduced by commit 49636c5 ("kbuild: verify dtoverlay files against schema"). He suggested a clean-up. I eliminated the duplication and refactored the code a little further. No functional changes are intended, except for the short logs. The log will look as follows: $ make ARCH=arm64 defconfig dtbs_check [ snip ] DTC [C] arch/arm64/boot/dts/freescale/imx93-tqma9352-mba93xxca.dtb DTC [C] arch/arm64/boot/dts/freescale/imx93-tqma9352-mba93xxla.dtb DTC [C] arch/arm64/boot/dts/freescale/imx93-var-som-symphony.dtb DTC [C] arch/arm64/boot/dts/freescale/imx95-19x19-evk.dtb DTC arch/arm64/boot/dts/freescale/imx8mm-venice-gw72xx-0x-imx219.dtbo OVL [C] arch/arm64/boot/dts/freescale/imx8mm-venice-gw72xx-0x-imx219.dtb The tag [C] indicates that the schema check is executed. Link: https://lore.kernel.org/lkml/CAHk-=wiF3yeWehcvqY-4X7WNb8n4yw_5t0H1CpEpKi7JMjaMfw@mail.gmail.com/#t Requested-by: Linus Torvalds <[email protected]> Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Nicolas Schier <[email protected]>
1 parent de9c2c6 commit 8fcd8d1

File tree

1 file changed

+10
-18
lines changed

1 file changed

+10
-18
lines changed

scripts/Makefile.lib

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -400,26 +400,23 @@ $(obj)/%.dtb.S: $(obj)/%.dtb FORCE
400400
$(obj)/%.dtbo.S: $(obj)/%.dtbo FORCE
401401
$(call if_changed,wrap_S_dtb)
402402

403-
quiet_cmd_dtc = DTC $@
403+
quiet_dtb_check_tag = $(if $(dtb-check-enabled),[C], )
404+
cmd_dtb_check = $(if $(dtb-check-enabled),; $(DT_CHECKER) $(DT_CHECKER_FLAGS) -u $(srctree)/$(DT_BINDING_DIR) -p $(DT_TMP_SCHEMA) $@ || true)
405+
406+
quiet_cmd_dtc = DTC $(quiet_dtb_check_tag) $@
404407
cmd_dtc = $(HOSTCC) -E $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
405408
$(DTC) -o $@ -b 0 \
406409
$(addprefix -i,$(dir $<) $(DTC_INCLUDE)) $(DTC_FLAGS) \
407410
-d $(depfile).dtc.tmp $(dtc-tmp) ; \
408-
cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile)
409-
410-
DT_CHECK_CMD = $(DT_CHECKER) $(DT_CHECKER_FLAGS) -u $(srctree)/$(DT_BINDING_DIR) -p $(DT_TMP_SCHEMA)
411+
cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile) \
412+
$(cmd_dtb_check)
411413

412414
# NOTE:
413415
# Do not replace $(filter %.dtb %.dtbo, $^) with $(real-prereqs). When a single
414416
# DTB is turned into a multi-blob DTB, $^ will contain header file dependencies
415417
# recorded in the .*.cmd file.
416-
ifneq ($(CHECK_DTBS),)
417-
quiet_cmd_fdtoverlay = DTOVLCH $@
418-
cmd_fdtoverlay = $(objtree)/scripts/dtc/fdtoverlay -o $@ -i $(filter %.dtb %.dtbo, $^) ; $(DT_CHECK_CMD) $@ || true
419-
else
420-
quiet_cmd_fdtoverlay = DTOVL $@
421-
cmd_fdtoverlay = $(objtree)/scripts/dtc/fdtoverlay -o $@ -i $(filter %.dtb %.dtbo, $^)
422-
endif
418+
quiet_cmd_fdtoverlay = OVL $(quiet_dtb_check_tag) $@
419+
cmd_fdtoverlay = $(objtree)/scripts/dtc/fdtoverlay -o $@ -i $(filter %.dtb %.dtbo, $^) $(cmd_dtb_check)
423420

424421
$(multi-dtb-y): FORCE
425422
$(call if_changed,fdtoverlay)
@@ -430,16 +427,11 @@ DT_CHECKER ?= dt-validate
430427
DT_CHECKER_FLAGS ?= $(if $(DT_SCHEMA_FILES),-l $(DT_SCHEMA_FILES),-m)
431428
DT_BINDING_DIR := Documentation/devicetree/bindings
432429
DT_TMP_SCHEMA := $(objtree)/$(DT_BINDING_DIR)/processed-schema.json
433-
434-
quiet_cmd_dtb = DTC_CHK $@
435-
cmd_dtb = $(cmd_dtc) ; $(DT_CHECK_CMD) $@ || true
436-
else
437-
quiet_cmd_dtb = $(quiet_cmd_dtc)
438-
cmd_dtb = $(cmd_dtc)
430+
dtb-check-enabled = $(if $(filter %.dtb, $@),y)
439431
endif
440432

441433
$(obj)/%.dtb: $(obj)/%.dts $(DTC) $(DT_TMP_SCHEMA) FORCE
442-
$(call if_changed_dep,dtb)
434+
$(call if_changed_dep,dtc)
443435

444436
$(obj)/%.dtbo: $(src)/%.dtso $(DTC) FORCE
445437
$(call if_changed_dep,dtc)

0 commit comments

Comments
 (0)