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

From: Rusty Russell
Date: Thu Feb 02 2017 - 14:14:45 EST


Arnd Bergmann <arnd@xxxxxxxx> writes:
> On Thu, Feb 2, 2017 at 10:25 AM, Rusty Russell <rusty@xxxxxxxxxxxxxxx> wrote:
>> 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?
>
> clang specifically warns about inline functions that are defined in a
> .c file but not used
> there, but it is sensible enough to not warn about unused inline
> functions that are defined
> in a header.

Ah, I was confused because you patched the header :)

> The module.h definitions are special because the inline function is
> defined through a
> macro that gets evaluated by almost every loadable module, and we get
> a warning for
> every one of them, which the subsystem maintainers cannot deal with by
> changing their
> code locally.

Acked-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

Thanks,
Rusty.