[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-arm-kernel
Subject:    Re: [PATCH 2/2] kbuild: handle dtb-y and CONFIG_OF_ALL_DTBS natively in Makefile.lib
From:       Rob Herring <robh+dt () kernel ! org>
Date:       2017-11-09 20:34:38
Message-ID: CAL_JsqLJZ3D8MXooiS+RFC1jJTCf7L6epwXUgovMAtH5Logwqg () mail ! gmail ! com
[Download RAW message or body]

On Thu, Nov 9, 2017 at 6:23 AM, Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
> Hi James,
> 
> 
> 2017-11-09 21:19 GMT+09:00 James Hogan <james@albanarts.com>:
> > (resend using a working From address)
> > 
> > <yamada.masahiro@socionext.com> wrote:
> > > If CONFIG_OF_ALL_DTBS is enabled, "make ARCH=arm64 dtbs" compiles each
> > > DTB twice; one from arch/arm64/boot/dts/*/Makefile and the other from
> > > the dtb-$(CONFIG_OF_ALL_DTBS) line in arch/arm64/boot/dts/Makefile.
> > > It could be a race problem when building DTBS in parallel.
> > > 
> > > Another minor issue is CONFIG_OF_ALL_DTBS covers only *.dts in vendor
> > > sub-directories, so this broke when Broadcom added one more hierarchy
> > > in arch/arm64/boot/dts/broadcom/<soc>/.
> > > 
> > > One idea to fix the issues in a clean way is to move DTB handling
> > > to Kbuild core scripts.  Makefile.dtbinst already recognizes dtb-y
> > > natively, so it should not hurt to do so.
> > > 
> > > Add $(dtb-y) to extra-y, and $(dtb-) as well if CONFIG_OF_ALL_DTBS is
> > > enabled.  All clutter things in Makefiles go away.
> > > 
> > > As a bonus clean-up, I also removed dts-dirs.  Just use subdir-y
> > > directly to traverse sub-directories.
> > > 
> > > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> > 
> > ...
> > 
> > > diff --git a/arch/mips/boot/dts/Makefile b/arch/mips/boot/dts/Makefile
> > > index 7891ffa..b2b0d88 100644
> > > --- a/arch/mips/boot/dts/Makefile
> > > +++ b/arch/mips/boot/dts/Makefile
> > > @@ -1,20 +1,14 @@
> > > -dts-dirs       += brcm
> > > -dts-dirs       += cavium-octeon
> > > -dts-dirs       += img
> > > -dts-dirs       += ingenic
> > > -dts-dirs       += lantiq
> > > -dts-dirs       += mti
> > > -dts-dirs       += netlogic
> > > -dts-dirs       += ni
> > > -dts-dirs       += pic32
> > > -dts-dirs       += qca
> > > -dts-dirs       += ralink
> > > -dts-dirs       += xilfpga
> > > +subdir-y       += brcm
> > > +subdir-y       += cavium-octeon
> > > +subdir-y       += img
> > > +subdir-y       += ingenic
> > > +subdir-y       += lantiq
> > > +subdir-y       += mti
> > > +subdir-y       += netlogic
> > > +subdir-y       += ni
> > > +subdir-y       += pic32
> > > +subdir-y       += qca
> > > +subdir-y       += ralink
> > > +subdir-y       += xilfpga
> > > 
> > > -obj-y          := $(addsuffix /, $(dts-dirs))
> > > -
> > > -dtstree                := $(srctree)/$(src)
> > > -dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(foreach \
> > >                 d,$(dts-dirs), $(wildcard $(dtstree)/$(d)/*.dts)))
> > > -
> > > -always         := $(dtb-y)
> > > -subdir-y       := $(dts-dirs)
> > > +obj-$(BUILTIN_DTB)     := $(addsuffix /, $(subdir-y))
> > 
> > I wonder if that should be CONFIG_BUILTIN_DTB?
> > 
> > This is causing failures in linux-next with MIPS
> > cavium_octeon_defconfig like below, and changing this line to
> > CONFIG_BUILTIN_DTB seems to fix it.
> 
> Good catch!
> 
> 
> Rob,
> Can you fix it to CONFIG_BUILTIN_DTB?

Fixed.

Rob

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic