Message ID | 20241016194149.4178898-1-chris.packham@alliedtelesis.co.nz (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [v2] kbuild: Restore the ability to build out of tree dtbs | expand |
On Thu, Oct 17, 2024 at 4:59 AM Chris Packham <chris.packham@alliedtelesis.co.nz> wrote: > > A build pattern to handle out of tree dtbs is to copy the .dts file into > the kernel source tree and run `make myboard.dtb`. This is supported by > the wildcard %.dtb rule in the Makefile but recent changes to split the > dtb handling out of scripts/Makefile.build stopped this from working. > Restore this functionality by looking for .dtb in $(MAKECMDGOALS) as > well as $(targets). > > Fixes: e7e2941300d2 ("kbuild: split device tree build rules into scripts/Makefile.dtbs") > Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz> > --- This is not a use-case in upstream. If you drop-in your downstream DT to the kernel tree, you need to associate it with Makefile. > > Notes: > Changes in v2: > - keep $(target) and search for .dtb in $(MAKECMDGOALS) > > scripts/Makefile.build | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/Makefile.build b/scripts/Makefile.build > index 8f423a1faf50..78763a4bc58a 100644 > --- a/scripts/Makefile.build > +++ b/scripts/Makefile.build > @@ -449,7 +449,7 @@ ifneq ($(userprogs),) > include $(srctree)/scripts/Makefile.userprogs > endif > > -ifneq ($(need-dtbslist)$(dtb-y)$(dtb-)$(filter %.dtb %.dtb.o %.dtbo.o,$(targets)),) > +ifneq ($(need-dtbslist)$(dtb-y)$(dtb-)$(filter %.dtb %.dtb.o %.dtbo.o,$(targets))$(filter %.dtb,$(MAKECMDGOALS)),) > include $(srctree)/scripts/Makefile.dtbs > endif > > -- > 2.47.0 > > -- Best Regards Masahiro Yamada
diff --git a/scripts/Makefile.build b/scripts/Makefile.build index 8f423a1faf50..78763a4bc58a 100644 --- a/scripts/Makefile.build +++ b/scripts/Makefile.build @@ -449,7 +449,7 @@ ifneq ($(userprogs),) include $(srctree)/scripts/Makefile.userprogs endif -ifneq ($(need-dtbslist)$(dtb-y)$(dtb-)$(filter %.dtb %.dtb.o %.dtbo.o,$(targets)),) +ifneq ($(need-dtbslist)$(dtb-y)$(dtb-)$(filter %.dtb %.dtb.o %.dtbo.o,$(targets))$(filter %.dtb,$(MAKECMDGOALS)),) include $(srctree)/scripts/Makefile.dtbs endif
A build pattern to handle out of tree dtbs is to copy the .dts file into the kernel source tree and run `make myboard.dtb`. This is supported by the wildcard %.dtb rule in the Makefile but recent changes to split the dtb handling out of scripts/Makefile.build stopped this from working. Restore this functionality by looking for .dtb in $(MAKECMDGOALS) as well as $(targets). Fixes: e7e2941300d2 ("kbuild: split device tree build rules into scripts/Makefile.dtbs") Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz> --- Notes: Changes in v2: - keep $(target) and search for .dtb in $(MAKECMDGOALS) scripts/Makefile.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)