kbuild: Cleanup DT Overlay intermediate files as appropriate
Commit Message
%.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>
---
.gitignore | 1 +
Makefile | 4 +++-
scripts/Makefile.build | 2 ++
3 files changed, 6 insertions(+), 1 deletion(-)
Comments
On Mon, Nov 14, 2022 at 02:59:39PM -0600, Andrew Davis wrote:
> %.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.
Fixes: 941214a512d8 ("kbuild: Allow DTB overlays to built into .dtbo.S files")
Tested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Reported-by: Andy Shevchenko <andriy.shevchenko@intel.com>
> Signed-off-by: Andrew Davis <afd@ti.com>
> ---
> .gitignore | 1 +
> Makefile | 4 +++-
> scripts/Makefile.build | 2 ++
> 3 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/.gitignore b/.gitignore
> index 5da004814678d..3ec73ead6757e 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -20,6 +20,7 @@
> *.dtb
> *.dtbo
> *.dtb.S
> +*.dtbo.S
> *.dwo
> *.elf
> *.gcno
> diff --git a/Makefile b/Makefile
> index 3735d5996c637..0dd7e8d022289 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2003,7 +2003,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' \
> diff --git a/scripts/Makefile.build b/scripts/Makefile.build
> index 41f3602fc8de7..3ceab076127b7 100644
> --- a/scripts/Makefile.build
> +++ b/scripts/Makefile.build
> @@ -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)
>
> --
> 2.38.1
>
On Tue, Nov 15, 2022 at 8:43 PM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> On Mon, Nov 14, 2022 at 02:59:39PM -0600, Andrew Davis wrote:
> > %.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.
>
> Fixes: 941214a512d8 ("kbuild: Allow DTB overlays to built into .dtbo.S files")
>
> Tested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
>
> > Reported-by: Andy Shevchenko <andriy.shevchenko@intel.com>
> > Signed-off-by: Andrew Davis <afd@ti.com>
Acked-by: Masahiro Yamada <masahiroy@kernel.org>
On Mon, Nov 14, 2022 at 02:59:39PM -0600, Andrew Davis wrote:
> %.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>
> ---
> .gitignore | 1 +
> Makefile | 4 +++-
> scripts/Makefile.build | 2 ++
> 3 files changed, 6 insertions(+), 1 deletion(-)
Applied, thanks!
@@ -20,6 +20,7 @@
*.dtb
*.dtbo
*.dtb.S
+*.dtbo.S
*.dwo
*.elf
*.gcno
@@ -2003,7 +2003,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' \
@@ -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)