Re: [PATCH] modules: mark __inittest/__exittest as __maybe_unused

From: Rusty Russell
Date: Thu Feb 02 2017 - 04:25:51 EST


Arnd Bergmann <arnd@xxxxxxxx> writes:
> clang warns about unused inline functions by default:
>
> arch/arm/crypto/aes-cipher-glue.c:68:1: warning: unused function '__inittest' [-Wunused-function]
> arch/arm/crypto/aes-cipher-glue.c:69:1: warning: unused function '__exittest' [-Wunused-function]
>
> As these appear in every single module, let's just disable the warnings by marking the
> two functions as __maybe_unused.

Um, won't you have to do that to hundreds of kernel headers? Why
module.h?

Confused,
Rusty.

> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> include/linux/module.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/module.h b/include/linux/module.h
> index 38b4b2c754c8..48a5c57c858e 100644
> --- a/include/linux/module.h
> +++ b/include/linux/module.h
> @@ -126,13 +126,13 @@ extern void cleanup_module(void);
>
> /* Each module must use one module_init(). */
> #define module_init(initfn) \
> - static inline initcall_t __inittest(void) \
> + static inline initcall_t __maybe_unused __inittest(void) \
> { return initfn; } \
> int init_module(void) __attribute__((alias(#initfn)));
>
> /* This is only required if you want to be unloadable. */
> #define module_exit(exitfn) \
> - static inline exitcall_t __exittest(void) \
> + static inline exitcall_t __maybe_unused __exittest(void) \
> { return exitfn; } \
> void cleanup_module(void) __attribute__((alias(#exitfn)));
>
> --
> 2.9.0