[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 09:30:18 CEST 2017
On 2017年06月08日 16:28, 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.
Oops. This is URL for the [1]:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/coding-style.rst#n993
Regards
Takashi Sakamoto
More information about the Alsa-devel
mailing list