2022-09-07 23:31:27

by Daniel Walker (danielwa)

[permalink] [raw]
Subject: [RFC-PATCH] Makefile: dts: include directory makefile for DTC_FLAGS

The current Makefile will drop the DTC_FLAGS depending on how you
build. For example,

make dtbs

includes correct DTC_FLAGS. However if you run,

make nvidia/tegra210-p2371-2180.dtb

The DTC_FLAGS are dropped. This appears to be caused by the top level
Makefile not including the Makefile from the directory where the dts lives.

This normally doesn't matter because most dts files have nothing added
from the Makefile. This changes when you have overlays, and the
DTC_FLAGS modifier is mandatory for the dtb to work correctly.

This change adds a -f argument which includes the Makefile from the
directory where the dts file reside. This change is also required for
dtbo files.

Cc: [email protected]
Signed-off-by: Daniel Walker <[email protected]>
---
Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index ac16bd92b156..bc245e2dc8d1 100644
--- a/Makefile
+++ b/Makefile
@@ -1460,10 +1460,10 @@ endif
ifneq ($(dtstree),)

%.dtb: dtbs_prepare
- $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
+ $(Q)$(MAKE) -f $(srctree)/$(dtstree)/$(dir $@)Makefile $(build)=$(dtstree) $(dtstree)/$@

%.dtbo: dtbs_prepare
- $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
+ $(Q)$(MAKE) -f $(srctree)/$(dtstree)/$(dir $@)Makefile $(build)=$(dtstree) $(dtstree)/$@

PHONY += dtbs dtbs_prepare dtbs_install dtbs_check
dtbs: dtbs_prepare
--
2.25.1


2022-09-08 08:05:31

by Masahiro Yamada

[permalink] [raw]
Subject: Re: [RFC-PATCH] Makefile: dts: include directory makefile for DTC_FLAGS

On Thu, Sep 8, 2022 at 8:03 AM Daniel Walker <[email protected]> wrote:
>
> The current Makefile will drop the DTC_FLAGS depending on how you
> build. For example,
>
> make dtbs
>
> includes correct DTC_FLAGS. However if you run,
>
> make nvidia/tegra210-p2371-2180.dtb
>
> The DTC_FLAGS are dropped. This appears to be caused by the top level
> Makefile not including the Makefile from the directory where the dts lives.
>
> This normally doesn't matter because most dts files have nothing added
> from the Makefile. This changes when you have overlays, and the
> DTC_FLAGS modifier is mandatory for the dtb to work correctly.


I recently fixed another issue of single target builds.
https://patchwork.kernel.org/project/linux-kbuild/patch/[email protected]/


It fixed your issue as well.






>
> This change adds a -f argument which includes the Makefile from the
> directory where the dts file reside. This change is also required for
> dtbo files.
>
> Cc: [email protected]
> Signed-off-by: Daniel Walker <[email protected]>
> ---
> Makefile | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index ac16bd92b156..bc245e2dc8d1 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1460,10 +1460,10 @@ endif
> ifneq ($(dtstree),)
>
> %.dtb: dtbs_prepare
> - $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
> + $(Q)$(MAKE) -f $(srctree)/$(dtstree)/$(dir $@)Makefile $(build)=$(dtstree) $(dtstree)/$@
>
> %.dtbo: dtbs_prepare
> - $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
> + $(Q)$(MAKE) -f $(srctree)/$(dtstree)/$(dir $@)Makefile $(build)=$(dtstree) $(dtstree)/$@
>
> PHONY += dtbs dtbs_prepare dtbs_install dtbs_check
> dtbs: dtbs_prepare
> --
> 2.25.1
>


--
Best Regards
Masahiro Yamada

2022-09-08 15:10:11

by Daniel Walker (danielwa)

[permalink] [raw]
Subject: Re: [RFC-PATCH] Makefile: dts: include directory makefile for DTC_FLAGS

On Thu, Sep 08, 2022 at 04:08:06PM +0900, Masahiro Yamada wrote:
> On Thu, Sep 8, 2022 at 8:03 AM Daniel Walker <[email protected]> wrote:
> >
> > The current Makefile will drop the DTC_FLAGS depending on how you
> > build. For example,
> >
> > make dtbs
> >
> > includes correct DTC_FLAGS. However if you run,
> >
> > make nvidia/tegra210-p2371-2180.dtb
> >
> > The DTC_FLAGS are dropped. This appears to be caused by the top level
> > Makefile not including the Makefile from the directory where the dts lives.
> >
> > This normally doesn't matter because most dts files have nothing added
> > from the Makefile. This changes when you have overlays, and the
> > DTC_FLAGS modifier is mandatory for the dtb to work correctly.
>
>
> I recently fixed another issue of single target builds.
> https://patchwork.kernel.org/project/linux-kbuild/patch/[email protected]/
>
>
> It fixed your issue as well.
>
>

Yeah, it fixes the issue I was seeing. Are you planning to resubmit this or is
the v2 the final version ?

Daniel

2022-09-08 15:15:03

by Masahiro Yamada

[permalink] [raw]
Subject: Re: [RFC-PATCH] Makefile: dts: include directory makefile for DTC_FLAGS

On Thu, Sep 8, 2022 at 11:39 PM Daniel Walker <[email protected]> wrote:
>
> On Thu, Sep 08, 2022 at 04:08:06PM +0900, Masahiro Yamada wrote:
> > On Thu, Sep 8, 2022 at 8:03 AM Daniel Walker <[email protected]> wrote:
> > >
> > > The current Makefile will drop the DTC_FLAGS depending on how you
> > > build. For example,
> > >
> > > make dtbs
> > >
> > > includes correct DTC_FLAGS. However if you run,
> > >
> > > make nvidia/tegra210-p2371-2180.dtb
> > >
> > > The DTC_FLAGS are dropped. This appears to be caused by the top level
> > > Makefile not including the Makefile from the directory where the dts lives.
> > >
> > > This normally doesn't matter because most dts files have nothing added
> > > from the Makefile. This changes when you have overlays, and the
> > > DTC_FLAGS modifier is mandatory for the dtb to work correctly.
> >
> >
> > I recently fixed another issue of single target builds.
> > https://patchwork.kernel.org/project/linux-kbuild/patch/[email protected]/
> >
> >
> > It fixed your issue as well.
> >
> >
>
> Yeah, it fixes the issue I was seeing. Are you planning to resubmit this or is
> the v2 the final version ?
>
> Daniel


I do not have a plan to submit v3
(unless a new issue comes up)



--
Best Regards
Masahiro Yamada