Hi. > -----Original Message----- > From: govinds@xxxxxxxxxxxxxx [mailto:govinds@xxxxxxxxxxxxxx] > Sent: Friday, March 23, 2018 8:55 PM > To: Kalle Valo <kvalo@xxxxxxxxxxxxxx> > Cc: Yamada, Masahiro/山田 真弘 <yamada.masahiro@xxxxxxxxxxxxx>; > linux-wireless@xxxxxxxxxxxxxxx; ath10k@xxxxxxxxxxxxxxxxxxx > Subject: Re: [PATCH 01/13] ath10k: platform driver for WCN3990 SNOC WLAN > module > > On 2018-03-10 14:41, Kalle Valo wrote: > > <yamada.masahiro@xxxxxxxxxxxxx> writes: > > > >>> >> Kbuild bot found an odd problem with this patch: > >>> >> > >>> >> include/linux/dynamic_debug.h:77:14: error: 'KBUILD_MODNAME' > >>> >> undeclared (first use in this function); did you mean > >>> 'KBUILD_BASENAME'? > >>> >> > >>> >> Full report: > >>> >> > >>> >> > >>> > http://lists.infradead.org/pipermail/ath10k/2018-February/010907.html > >>> >> > >>> >> Any ideas? Is this is some unrelated issue or what? This patch is > not > >>> >> even touching hif.h or ce.c. > >>> > > >>> > I didn't encountered this issue as in my defconfig only > >>> > CONFIG_ATH10K_SNOC was defined. This problem is coming when we define > >>> > CONFIG_ATH10K_SNOC and CONFIG_ATH10K_PCI simultaneously in defconfig > >>> > and this is known issue when multiple modules share objects(in this > >>> > case ce.o). I saw similar reported problem and found > >>> > https://patchwork.kernel.org/patch/10060825/. > >>> > > >>> > After picking the below change issue is not seen. > >>> > >>> Let's ask the kbuild maintainer. Masahiro, any chances of getting > >>> this > >>> patch applied anytime soon: > >>> > >>> kbuild: define KBUILD_MODNAME even if multiple modules share objects > >>> > >>> https://patchwork.kernel.org/patch/10060825/ > >>> > >>> In ath10k we would need it as otherwise we are not able to link ce.o > >>> both to ath10k_pci.ko and ath10k_snoc.ko. What do you think? > >>> > >>> Full discussion and the ath10k patch here: > >>> > >>> https://patchwork.kernel.org/patch/10220657/ > >>> > >> > >> I plan to submit v2, but even if the undefined KBUILD_MODNAME is > >> fixed, > >> I expect another problem from this patch. > >> > >> If both CONFIG_ATH10K_PCI and CONFIG_ATH10_SNOC are 'y' > >> two instances of ce.o would be linked into vmliux, > >> then causes multiple definition error. > > > > Oh, I didn't realise this. Thanks for pointing it out. Govind is > > looking > > at other ways to fix this. > > https://patchwork.kernel.org/patch/10298659/ is raised to address this > problem. > > CE layer is shared between pci and snoc target and results > in duplicate object inclusion if both modules are compiled > together statically and undefined KBUILD_MODNAME if > compiled as module. If you rebase your development on v4.17-rc1, this statement is no longer true. > Fix this by building ce layer in ath10k core module by > adding ce object inclusion with ATH10K_CE boolean CONFIG. Today, the solution landed in Linus' tree. [1] Solution for missing KBUILD_MODNAME definition commit aeacb019b61c4ea7689085574bd03d2c0810f119 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Mon Mar 19 18:01:24 2018 +0900 kbuild: define KBUILD_MODNAME even if multiple modules share objects [2] Solution for multiple definition error when both are built-in commit f98fe47ce51dee6d97dd91bbeccdde23f043c754 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Mon Mar 19 20:26:08 2018 +0900 kbuild: link $(real-obj-y) instead of $(obj-y) into built-in.a [3] Examples for Makefile cleanups commit f605005a50fc1443a14b4e8c9c1727881f8f96ae Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Mon Mar 19 20:26:10 2018 +0900 net: liquidio: clean up Makefile for simpler composite object handling commit dc35da16a2e23db04822f0129cd5b28b7b0e72b4 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Mon Mar 19 20:26:09 2018 +0900 lib: zstd: clean up Makefile for simpler composite object handling