2018-09-16 04:39:00

by Stefan Agner

[permalink] [raw]
Subject: [PATCH 1/2] cpufeature: avoid warning when compiling with clang

The table id (second) argument to MODULE_DEVICE_TABLE is often
referenced otherwise. This is not the case for CPU features. This
leads to warnings when building the kernel with Clang:
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);
^

Avoid warnings by using __maybe_unused, similar to commit 1f318a8bafcf
("modules: mark __inittest/__exittest as __maybe_unused").

Fixes: 67bad2fdb754 ("cpu: add generic support for CPU feature based module autoloading")
Signed-off-by: Stefan Agner <[email protected]>
---
include/linux/cpufeature.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/cpufeature.h b/include/linux/cpufeature.h
index 986c06c88d81..84d3c81b5978 100644
--- a/include/linux/cpufeature.h
+++ b/include/linux/cpufeature.h
@@ -45,7 +45,7 @@
* 'asm/cpufeature.h' of your favorite architecture.
*/
#define module_cpu_feature_match(x, __initfunc) \
-static struct cpu_feature const cpu_feature_match_ ## x[] = \
+static struct cpu_feature const __maybe_unused cpu_feature_match_ ## x[] = \
{ { .feature = cpu_feature(x) }, { } }; \
MODULE_DEVICE_TABLE(cpu, cpu_feature_match_ ## x); \
\
--
2.19.0



2018-09-16 04:39:02

by Stefan Agner

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

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 <[email protected]>
---
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


2018-09-18 15:50:31

by Ard Biesheuvel

[permalink] [raw]
Subject: Re: [PATCH 1/2] cpufeature: avoid warning when compiling with clang

On 15 September 2018 at 21:38, Stefan Agner <[email protected]> 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 warnings when building the kernel with Clang:
> 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);
> ^
>
> Avoid warnings by using __maybe_unused, similar to commit 1f318a8bafcf
> ("modules: mark __inittest/__exittest as __maybe_unused").
>
> Fixes: 67bad2fdb754 ("cpu: add generic support for CPU feature based module autoloading")
> Signed-off-by: Stefan Agner <[email protected]>

Acked-by: Ard Biesheuvel <[email protected]>

> ---
> include/linux/cpufeature.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/cpufeature.h b/include/linux/cpufeature.h
> index 986c06c88d81..84d3c81b5978 100644
> --- a/include/linux/cpufeature.h
> +++ b/include/linux/cpufeature.h
> @@ -45,7 +45,7 @@
> * 'asm/cpufeature.h' of your favorite architecture.
> */
> #define module_cpu_feature_match(x, __initfunc) \
> -static struct cpu_feature const cpu_feature_match_ ## x[] = \
> +static struct cpu_feature const __maybe_unused cpu_feature_match_ ## x[] = \
> { { .feature = cpu_feature(x) }, { } }; \
> MODULE_DEVICE_TABLE(cpu, cpu_feature_match_ ## x); \
> \
> --
> 2.19.0
>

2018-09-18 15:53:00

by Ard Biesheuvel

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

On 15 September 2018 at 21:38, Stefan Agner <[email protected]> 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 <[email protected]>

Acked-by: Ard Biesheuvel <[email protected]>

> ---
> 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
>

2018-09-21 05:48:04

by Herbert Xu

[permalink] [raw]
Subject: Re: [PATCH 1/2] cpufeature: avoid warning when compiling with clang

On Sat, Sep 15, 2018 at 09:38:24PM -0700, Stefan Agner 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 warnings when building the kernel with Clang:
> 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);
> ^
>
> Avoid warnings by using __maybe_unused, similar to commit 1f318a8bafcf
> ("modules: mark __inittest/__exittest as __maybe_unused").
>
> Fixes: 67bad2fdb754 ("cpu: add generic support for CPU feature based module autoloading")
> Signed-off-by: Stefan Agner <[email protected]>
> ---
> include/linux/cpufeature.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

All applied. Thanks.
--
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt