Re: [PATCH 2/2] crypto: arm/crc32 - avoid warning when compiling with Clang

From: Ard Biesheuvel
Date: Tue Sep 18 2018 - 11:52:05 EST


On 15 September 2018 at 21:38, Stefan Agner <stefan@xxxxxxxx> wrote:
> The table id (second) argument to MODULE_DEVICE_TABLE is often
> referenced otherwise. This is not the case for CPU features. This
> leads to a warning when building the kernel with Clang:
> arch/arm/crypto/crc32-ce-glue.c:239:33: warning: variable
> 'crc32_cpu_feature' is not needed and will not be emitted
> [-Wunneeded-internal-declaration]
> static const struct cpu_feature crc32_cpu_feature[] = {
> ^
>
> Avoid warnings by using __maybe_unused, similar to commit 1f318a8bafcf
> ("modules: mark __inittest/__exittest as __maybe_unused").
>
> Fixes: 2a9faf8b7e43 ("crypto: arm/crc32 - enable module autoloading based on CPU feature bits")
> Signed-off-by: Stefan Agner <stefan@xxxxxxxx>

Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>

> ---
> arch/arm/crypto/crc32-ce-glue.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/crypto/crc32-ce-glue.c b/arch/arm/crypto/crc32-ce-glue.c
> index 96e62ec105d0..cd9e93b46c2d 100644
> --- a/arch/arm/crypto/crc32-ce-glue.c
> +++ b/arch/arm/crypto/crc32-ce-glue.c
> @@ -236,7 +236,7 @@ static void __exit crc32_pmull_mod_exit(void)
> ARRAY_SIZE(crc32_pmull_algs));
> }
>
> -static const struct cpu_feature crc32_cpu_feature[] = {
> +static const struct cpu_feature __maybe_unused crc32_cpu_feature[] = {
> { cpu_feature(CRC32) }, { cpu_feature(PMULL) }, { }
> };
> MODULE_DEVICE_TABLE(cpu, crc32_cpu_feature);
> --
> 2.19.0
>