On Mon, Nov 14, 2022 at 05:49:58PM +0000, Nick Alcock wrote: > On 11 Nov 2022, Luis Chamberlain outgrape: > > > On Fri, Nov 11, 2022 at 01:47:03PM +0000, Nick Alcock wrote: > >> +arch/x86/crypto/libblake2s-x86_64.o: arch/x86/crypto/blake2s-core.o arch/x86/crypto/blake2s-glue.o > >> > >> But... > >> > >> obj-$(CONFIG_CRYPTO_BLAKE2S_X86) += libblake2s-x86_64.o > >> libblake2s-x86_64-y := blake2s-core.o blake2s-glue.o > >> > >> config CRYPTO_BLAKE2S_X86 > >> bool "Hash functions: BLAKE2s (SSSE3/AVX-512)" > >> > >> This cannot be built as a module. > > > > mcgrof@fulton ~/linux (git::modules-next)$ git grep MODULE_LICENSE arch/x86/crypto/blake2s-* > > arch/x86/crypto/blake2s-glue.c:MODULE_LICENSE("GPL v2"); > > > > Try removing that. > > OK, that works! > > So if we're using the presence of MODULE_LICENSE to indicate that > something is potentially modular, I guess this means I need to do a > sweep through the kernel and find everywhere that cites a MODULE_LICENSE > and cannot be built as a module before this will say things are modules > that really are. Yes, make allyesconfig builds + a verifier for tristate would be nice. scripts/kconfig/streamline_config.pl has an iterator over kconfig files and also objects which you might find useful. At build time such a thing could nag about issues like the above. Luis