linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: James Hogan <james@albanarts.com>
To: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Rob Herring <robh+dt@kernel.org>,
	devicetree@vger.kernel.org, linux-kbuild@vger.kernel.org,
	Mark Rutland <mark.rutland@arm.com>,
	Pantelis Antoniou <pantelis.antoniou@konsulko.com>,
	ARM Kernel List <linux-arm-kernel@lists.infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	LKML <linux-kernel@vger.kernel.org>,
	Michal Marek <michal.lkml@markovi.net>,
	Sam Ravnborg <sam@ravnborg.org>,
	Linux MIPS Mailing List <linux-mips@linux-mips.org>,
	Ralf Baechle <ralf@linux-mips.org>,
	David Daney <david.daney@cavium.com>,
	James Hogan <james.hogan@mips.com>,
	linux-next@vger.kernel.org
Subject: Re: [PATCH 2/2] kbuild: handle dtb-y and CONFIG_OF_ALL_DTBS natively in Makefile.lib
Date: Thu, 9 Nov 2017 12:19:02 +0000	[thread overview]
Message-ID: <CAAG0J99envT6gtM6tHdTvetrHr0itX1dexkuWSU=u1c5UTLE1A@mail.gmail.com> (raw)
In-Reply-To: <CAAG0J98rRS+Sw8k_87gmTqYdNWByk=9zWVbWnC348vd63H4N9w@mail.gmail.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.

arch/mips/cavium-octeon/setup.o: In function `__octeon_is_model_runtime__':
/work/mips/linux/main/./arch/mips/include/asm/octeon/octeon-model.h:368:
undefined reference to `__dtb_octeon_3xxx_begin'
arch/mips/cavium-octeon/setup.o: In function `device_tree_init':
/work/mips/linux/main/arch/mips/cavium-octeon/setup.c:1188: undefined
reference to `__dtb_octeon_3xxx_begin'
/work/mips/linux/main/arch/mips/cavium-octeon/setup.c:1184: undefined
reference to `__dtb_octeon_68xx_begin'
/work/mips/linux/main/arch/mips/cavium-octeon/setup.c:1184: undefined
reference to `__dtb_octeon_68xx_begin'

Thanks
James


-- 
James Hogan

  parent reply	other threads:[~2017-11-09 12:19 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-05  5:30 [PATCH 0/2] kbuild: move dtb-y and CONFIG_OF_ALL_DTBS to Kbuild core to fix some issues Masahiro Yamada
2017-11-05  5:30 ` [PATCH 1/2] MIPS: dts: remove bogus bcm96358nb4ser.dtb from dtb-y entry Masahiro Yamada
2017-11-05 14:11   ` Masahiro Yamada
2017-11-06 10:41     ` James Hogan
2017-11-06 11:00       ` Masahiro Yamada
2017-11-08 16:51         ` Rob Herring
2017-11-09  0:11           ` Masahiro Yamada
2017-11-09  0:38             ` Masahiro Yamada
2017-11-09 23:06               ` Rob Herring
2017-11-09  8:06         ` James Hogan
2017-11-05  5:30 ` [PATCH 2/2] kbuild: handle dtb-y and CONFIG_OF_ALL_DTBS natively in Makefile.lib Masahiro Yamada
2017-11-05  8:39   ` Sam Ravnborg
2017-11-05 13:49   ` Arnd Bergmann
2017-11-08 17:23     ` Rob Herring
     [not found]   ` <CAAG0J98rRS+Sw8k_87gmTqYdNWByk=9zWVbWnC348vd63H4N9w@mail.gmail.com>
2017-11-09 12:19     ` James Hogan [this message]
2017-11-09 12:23       ` Masahiro Yamada
2017-11-09 20:34         ` Rob Herring

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAAG0J99envT6gtM6tHdTvetrHr0itX1dexkuWSU=u1c5UTLE1A@mail.gmail.com' \
    --to=james@albanarts.com \
    --cc=arnd@arndb.de \
    --cc=david.daney@cavium.com \
    --cc=devicetree@vger.kernel.org \
    --cc=james.hogan@mips.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=linux-next@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=michal.lkml@markovi.net \
    --cc=pantelis.antoniou@konsulko.com \
    --cc=ralf@linux-mips.org \
    --cc=robh+dt@kernel.org \
    --cc=sam@ravnborg.org \
    --cc=yamada.masahiro@socionext.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).