From: Masahiro Yamada <yamada.masahiro@socionext.com>
To: James Hogan <james@albanarts.com>, Rob Herring <robh+dt@kernel.org>
Cc: devicetree@vger.kernel.org,
Linux Kbuild mailing list <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 Mailing List <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 21:23:14 +0900 [thread overview]
Message-ID: <CAK7LNAT-3yBTFqnFECbGzSHRUiaG38b0BG3_3ouRAZRTF+iiDQ@mail.gmail.com> (raw)
In-Reply-To: <CAAG0J99envT6gtM6tHdTvetrHr0itX1dexkuWSU=u1c5UTLE1A@mail.gmail.com>
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?
Thanks!
> 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
>
>
--
Best Regards
Masahiro Yamada
next prev parent reply other threads:[~2017-11-09 12:24 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
2017-11-09 12:23 ` Masahiro Yamada [this message]
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=CAK7LNAT-3yBTFqnFECbGzSHRUiaG38b0BG3_3ouRAZRTF+iiDQ@mail.gmail.com \
--to=yamada.masahiro@socionext.com \
--cc=arnd@arndb.de \
--cc=david.daney@cavium.com \
--cc=devicetree@vger.kernel.org \
--cc=james.hogan@mips.com \
--cc=james@albanarts.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 \
/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).