On Mon, May 20, 2019 at 8:52 AM Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > > Hi Masahiro, > > On Sat, 18 May 2019 01:07:15 +0900 Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> wrote: > > > > It checks not only real modules, but also built-in modules (i.e. > > controlled by tristate CONFIG option, but currently compiled with =y). > > Non-unique names for built-in modules also cause problems because > > /sys/modules/ would fall over. > > > > I tested allmodconfig on the latest kernel, and it detected the > > following: > > A powerpc ppc64_defconfig produces: > > warning: same basename if the following are built as modules: > arch/powerpc/platforms/powermac/nvram.ko > drivers/char/nvram.ko > > Which is a false positive since > arch/powerpc/platforms/powermac/Makefile has > > # CONFIG_NVRAM is an arch. independent tristate symbol, for pmac32 we really > # need this to be a bool. Cheat here and pretend CONFIG_NVRAM=m is really > # CONFIG_NVRAM=y > obj-$(CONFIG_NVRAM:m=y) += nvram.o > > Which means that this nvram.o will never be built as a module. > -- > Cheers, > Stephen Rothwell BTW, arm64 defconfig also produces a false positive: warning: same basename if the following are built as modules: arch/arm64/lib/crc32.ko lib/crc32.ko CONFIG_CRC32 is a tristate option, but ARM64 selects CRC32. So, CRC32 is always =y. We must stop checking modules.builtin soon. Sorry about noises. -- Best Regards Masahiro Yamada