On 10 September 2018 at 08:21, Stefan Agner <stefan@xxxxxxxx> wrote: > Hi Ard, > > On 21.05.2017 03:23, Ard Biesheuvel wrote: >> Make the module autoloadable by tying it to the CPU feature bit that >> describes whether the optional instructions it relies on are implemented >> by the current CPU. >> > > This leads to a compiler warning when compiling multi_v7_defconfig/ARM32 > using Clang 6.0.1: > > arch/arm/crypto/aes-ce-glue.c:450:1: warning: variable > 'cpu_feature_match_AES' is not needed and will not > be emitted [-Wunneeded-internal-declaration] > module_cpu_feature_match(AES, aes_init); > > ./include/linux/cpufeature.h:48:33: note: expanded from macro > 'module_cpu_feature_match' > static struct cpu_feature const cpu_feature_match_ ## x[] = \ > > <scratch space>:83:1: note: expanded from here > cpu_feature_match_AES > ^ > 1 warning generated. > > Do you happen to have an idea how to alleviate? > I guess this only happens for modules that are selected as builtin, and so MODULE_DEVICE_TABLE() resolves to nothing? Does this only occur for CPU features?