[alsa-devel] [PATCH 1/8] ALSA: pcm: add a helper function to constrain mask-type parameters

Takashi Sakamoto o-takashi at sakamocchi.jp
Thu Jun 8 10:35:35 CEST 2017


Hi,

On Jun 8 2017 16:35, Takashi Iwai wrote:
> On Thu, 08 Jun 2017 09:28:37 +0200,
> Takashi Sakamoto wrote:
>>
>> Hi,
>>
>> On Jun 8 2017 16:10, Takashi Iwai wrote:
>>> On Thu, 08 Jun 2017 01:10:19 +0200,
>>> Takashi Sakamoto wrote:
>>>>
>>>> Application of constraints to mask-type parameters for PCM substream is
>>>> done in a call of snd_pcm_hw_refine(), while the function includes much
>>>> codes and is not enough friendly to readers.
>>>>
>>>> This commit splits the codes to a separated function so that readers can
>>>> get it easily. I leave desicion into compilers to merge the function into
>>>> its callee.
>>>>
>>>> Signed-off-by: Takashi Sakamoto <o-takashi at sakamocchi.jp>
>>>> ---
>>>>    sound/core/pcm_native.c | 57 ++++++++++++++++++++++++++++++++-----------------
>>>>    1 file changed, 38 insertions(+), 19 deletions(-)
>>>>
>>>> diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c
>>>> index 2bde07a4a87f..b3e8aab3915e 100644
>>>> --- a/sound/core/pcm_native.c
>>>> +++ b/sound/core/pcm_native.c
>>>> ...
>>>> +	struct snd_mask __maybe_unused old_mask;
>>>
>>> Do we really need __maybe_unused?  Drop it as much as possible.
>>> IMO, it can be uglier than ifdef, since you don't know why it's
>>> unused.  With ifdef, at least, you have an idea about the condition.
>>
>> In kernel documentation[1], we can see below suggestion.
>>
>> "20) Conditional Compilation
>> ...
>> If you have a function or variable which may potentially go unused in a
>> particular configuration, and the compiler would warn about its
>> definition going unused, mark the definition as __maybe_unused rather
>> than wrapping it in a preprocessor conditional.  (However, if a
>> function or variable *always* goes unused, delete it.)"
>>
>> I'll follow this.
> 
> It doesn't answer my question.  Without __maybe_unused in your code,
> do you get the compile warning?  If yes, why?

Oh, I cannot see any warnings when disabling tracepoints or SND_DEBUG, 
as you said... I surely have a bias from my experiences for 
firewire-motu driver...

> Well, I see the usage already in your patch for the tracepoints.
> But __maybe_unused is really ugly, and should be avoided as much as
> possible.
> 
> The text above doesn't recommend to use it blindly.   It's the last
> resort.

OK. We can avoid using __maybe_unused for function local variable in 
this case. I'll drop the keyword in next v2 patchset.


Thank you

Takashi Sakamoto


More information about the Alsa-devel mailing list