kbuild: Cleanup DT Overlay intermediate files as appropriate
authorAndrew Davis <afd@ti.com>
Mon, 14 Nov 2022 20:59:39 +0000 (14:59 -0600)
committerRob Herring <robh@kernel.org>
Fri, 18 Nov 2022 20:45:30 +0000 (14:45 -0600)
%.dtbo.o and %.dtbo.S files are used to build-in DT Overlay. They should
should not be removed by Make or the kernel will be needlessly rebuilt.

These should be removed by "clean" and ignored by git like other
intermediate files.

Reported-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Signed-off-by: Andrew Davis <afd@ti.com>
Fixes: 941214a512d8 ("kbuild: Allow DTB overlays to built into .dtbo.S files")
Tested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Masahiro Yamada <masahiroy@kernel.org>
Link: https://lore.kernel.org/r/20221114205939.27994-1-afd@ti.com
Signed-off-by: Rob Herring <robh@kernel.org>
.gitignore
Makefile
scripts/Makefile.build

index 5da0048..3ec73ea 100644 (file)
@@ -20,6 +20,7 @@
 *.dtb
 *.dtbo
 *.dtb.S
+*.dtbo.S
 *.dwo
 *.elf
 *.gcno
index f41ec8c..2687e0e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -2001,7 +2001,9 @@ clean: $(clean-dirs)
        @find $(or $(KBUILD_EXTMOD), .) $(RCS_FIND_IGNORE) \
                \( -name '*.[aios]' -o -name '*.rsi' -o -name '*.ko' -o -name '.*.cmd' \
                -o -name '*.ko.*' \
-               -o -name '*.dtb' -o -name '*.dtbo' -o -name '*.dtb.S' -o -name '*.dt.yaml' \
+               -o -name '*.dtb' -o -name '*.dtbo' \
+               -o -name '*.dtb.S' -o -name '*.dtbo.S' \
+               -o -name '*.dt.yaml' \
                -o -name '*.dwo' -o -name '*.lst' \
                -o -name '*.su' -o -name '*.mod' -o -name '*.usyms' \
                -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \
index 41f3602..3ceab07 100644 (file)
@@ -468,10 +468,12 @@ intermediate_targets = $(foreach sfx, $(2), \
                                        $(filter %$(strip $(1)), $(targets))))
 # %.asn1.o <- %.asn1.[ch] <- %.asn1
 # %.dtb.o <- %.dtb.S <- %.dtb <- %.dts
+# %.dtbo.o <- %.dtbo.S <- %.dtbo <- %.dtso
 # %.lex.o <- %.lex.c <- %.l
 # %.tab.o <- %.tab.[ch] <- %.y
 targets += $(call intermediate_targets, .asn1.o, .asn1.c .asn1.h) \
           $(call intermediate_targets, .dtb.o, .dtb.S .dtb) \
+          $(call intermediate_targets, .dtbo.o, .dtbo.S .dtbo) \
           $(call intermediate_targets, .lex.o, .lex.c) \
           $(call intermediate_targets, .tab.o, .tab.c .tab.h)