Re: [PATCH 08/30] net: wireless: ath: carl9170: Mark 'ar9170_qmap' as __maybe_unused

From: Kalle Valo
Date: Mon Aug 17 2020 - 09:00:25 EST


Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> writes:

> On 14/08/2020 17.14, Christian Lamparter wrote:
>> On 2020-08-14 13:39, Lee Jones wrote:
>>> 'ar9170_qmap' is used in some source files which include carl9170.h,
>>> but not all of them.  Mark it as __maybe_unused to show that this is
>>> not only okay, it's expected.
>>>
>>> Fixes the following W=1 kernel build warning(s)
>>
>> Is this W=1 really a "must" requirement? I find it strange having
>> __maybe_unused in header files as this "suggests" that the
>> definition is redundant.
>
> In this case it seems one could replace the table lookup with a
>
> static inline u8 ar9170_qmap(u8 idx) { return 3 - idx; }
>
> gcc doesn't warn about unused static inline functions (or one would have
> a million warnings to deal with). Just my $0.02.

Yeah, this is much better.

And I think that static variables should not even be in the header
files. Doesn't it mean that there's a local copy of the variable
everytime the .h file is included? Sure, in this case the overhead is
small (4 bytes per include) but still it's wrong. Having a static inline
function would solve that problem as well the compiler warning.

--
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches