Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1644533 > unrolled thread

[PATCH 1/2] ALSA: pcm: use "do {} while (0)" for empty macro

Started byArnd Bergmann <arnd@arndb.de>
First post2017-05-18 15:40 +0200
Last post2017-05-18 16:40 +0200
Articles 4 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 1/2] ALSA: pcm: use "do {} while (0)" for empty macro Arnd Bergmann <arnd@arndb.de> - 2017-05-18 15:40 +0200
    [PATCH 2/2] ALSA: pcm/oss: mark snd_pcm_plug_slave_format arg as const Arnd Bergmann <arnd@arndb.de> - 2017-05-18 15:40 +0200
      Re: [PATCH 2/2] ALSA: pcm/oss: mark snd_pcm_plug_slave_format arg as  const Takashi Sakamoto <o-takashi@sakamocchi.jp> - 2017-05-18 16:10 +0200
    Re: [PATCH 1/2] ALSA: pcm: use "do {} while (0)" for empty macro Takashi Iwai <tiwai@suse.de> - 2017-05-18 16:40 +0200

#1644533 — [PATCH 1/2] ALSA: pcm: use "do {} while (0)" for empty macro

FromArnd Bergmann <arnd@arndb.de>
Date2017-05-18 15:40 +0200
Subject[PATCH 1/2] ALSA: pcm: use "do {} while (0)" for empty macro
Message-ID<tItON-3bL-9@gated-at.bofh.it>
Recent compilers produce a harmless warning for the new pcm_call_notify()
macro when CONFIG_SND_PCM_OSS is disabled:

sound/core/pcm.c: In function 'snd_pcm_free':
sound/core/pcm.c:905:37: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]

This turns the empty macro into a 'do {} while (0)' statement to avoid
the warning.

Fixes: 58f30d650c7f ("ALSA: pcm: Build pcm notifier code conditionally")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 sound/core/pcm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/core/pcm.c b/sound/core/pcm.c
index 24acbfb5c531..d30dba0ee688 100644
--- a/sound/core/pcm.c
+++ b/sound/core/pcm.c
@@ -894,7 +894,7 @@ static void snd_pcm_free_stream(struct snd_pcm_str * pstr)
 			_notify->call(pcm);				\
 	} while (0)
 #else
-#define pcm_call_notify(pcm, call) /* NOP */
+#define pcm_call_notify(pcm, call) do {} while (0)
 #endif
 
 static int snd_pcm_free(struct snd_pcm *pcm)
-- 
2.9.0

[toc] | [next] | [standalone]


#1644555 — [PATCH 2/2] ALSA: pcm/oss: mark snd_pcm_plug_slave_format arg as const

FromArnd Bergmann <arnd@arndb.de>
Date2017-05-18 15:40 +0200
Subject[PATCH 2/2] ALSA: pcm/oss: mark snd_pcm_plug_slave_format arg as const
Message-ID<tItOP-3bL-61@gated-at.bofh.it>
In reply to#1644533
Only one of the two declarations has the const modifier in the
argument list, so we get a warning when CONFIG_SND_PCM_OSS_PLUGINS
is disabled:

sound/core/oss/pcm_oss.c: In function 'snd_pcm_oss_change_params':
sound/core/oss/pcm_oss.c:898:47: error: passing argument 2 of 'snd_pcm_plug_slave_format' discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]

This makes the two declarations match again.

Fixes: e76bf3c4b4e4 ("ALSA: pcm/oss: refer to parameters instead of copying to reduce usage of kernel stack")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 sound/core/oss/pcm_plugin.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/core/oss/pcm_plugin.h b/sound/core/oss/pcm_plugin.h
index 38e2c14cb893..73c068abaca5 100644
--- a/sound/core/oss/pcm_plugin.h
+++ b/sound/core/oss/pcm_plugin.h
@@ -172,7 +172,7 @@ snd_pcm_sframes_t snd_pcm_oss_readv3(struct snd_pcm_substream *substream,
 
 static inline snd_pcm_sframes_t snd_pcm_plug_client_size(struct snd_pcm_substream *handle, snd_pcm_uframes_t drv_size) { return drv_size; }
 static inline snd_pcm_sframes_t snd_pcm_plug_slave_size(struct snd_pcm_substream *handle, snd_pcm_uframes_t clt_size) { return clt_size; }
-static inline int snd_pcm_plug_slave_format(int format, struct snd_mask *format_mask) { return format; }
+static inline int snd_pcm_plug_slave_format(int format, const struct snd_mask *format_mask) { return format; }
 
 #endif
 
-- 
2.9.0

[toc] | [prev] | [next] | [standalone]


#1644577 — Re: [PATCH 2/2] ALSA: pcm/oss: mark snd_pcm_plug_slave_format arg as const

FromTakashi Sakamoto <o-takashi@sakamocchi.jp>
Date2017-05-18 16:10 +0200
SubjectRe: [PATCH 2/2] ALSA: pcm/oss: mark snd_pcm_plug_slave_format arg as const
Message-ID<tIuhQ-3NF-5@gated-at.bofh.it>
In reply to#1644555
Hi,

On May 18 2017 22:35, Arnd Bergmann wrote:
> Only one of the two declarations has the const modifier in the
> argument list, so we get a warning when CONFIG_SND_PCM_OSS_PLUGINS
> is disabled:
>
> sound/core/oss/pcm_oss.c: In function 'snd_pcm_oss_change_params':
> sound/core/oss/pcm_oss.c:898:47: error: passing argument 2 of 'snd_pcm_plug_slave_format' discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
>
> This makes the two declarations match again.
>
> Fixes: e76bf3c4b4e4 ("ALSA: pcm/oss: refer to parameters instead of copying to reduce usage of kernel stack")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  sound/core/oss/pcm_plugin.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Indeed. I overlooked that it's conditional...

Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>

> diff --git a/sound/core/oss/pcm_plugin.h b/sound/core/oss/pcm_plugin.h
> index 38e2c14cb893..73c068abaca5 100644
> --- a/sound/core/oss/pcm_plugin.h
> +++ b/sound/core/oss/pcm_plugin.h
> @@ -172,7 +172,7 @@ snd_pcm_sframes_t snd_pcm_oss_readv3(struct snd_pcm_substream *substream,
>
>  static inline snd_pcm_sframes_t snd_pcm_plug_client_size(struct snd_pcm_substream *handle, snd_pcm_uframes_t drv_size) { return drv_size; }
>  static inline snd_pcm_sframes_t snd_pcm_plug_slave_size(struct snd_pcm_substream *handle, snd_pcm_uframes_t clt_size) { return clt_size; }
> -static inline int snd_pcm_plug_slave_format(int format, struct snd_mask *format_mask) { return format; }
> +static inline int snd_pcm_plug_slave_format(int format, const struct snd_mask *format_mask) { return format; }
>
>  #endif

Thanks :D

Takashi Sakamoto

[toc] | [prev] | [next] | [standalone]


#1644600

FromTakashi Iwai <tiwai@suse.de>
Date2017-05-18 16:40 +0200
Message-ID<tIuKR-3YK-1@gated-at.bofh.it>
In reply to#1644533
On Thu, 18 May 2017 15:35:54 +0200,
Arnd Bergmann wrote:
> 
> Recent compilers produce a harmless warning for the new pcm_call_notify()
> macro when CONFIG_SND_PCM_OSS is disabled:
> 
> sound/core/pcm.c: In function 'snd_pcm_free':
> sound/core/pcm.c:905:37: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
> 
> This turns the empty macro into a 'do {} while (0)' statement to avoid
> the warning.
> 
> Fixes: 58f30d650c7f ("ALSA: pcm: Build pcm notifier code conditionally")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Thanks, applied both patches now.


Takashi

> ---
>  sound/core/pcm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/sound/core/pcm.c b/sound/core/pcm.c
> index 24acbfb5c531..d30dba0ee688 100644
> --- a/sound/core/pcm.c
> +++ b/sound/core/pcm.c
> @@ -894,7 +894,7 @@ static void snd_pcm_free_stream(struct snd_pcm_str * pstr)
>  			_notify->call(pcm);				\
>  	} while (0)
>  #else
> -#define pcm_call_notify(pcm, call) /* NOP */
> +#define pcm_call_notify(pcm, call) do {} while (0)
>  #endif
>  
>  static int snd_pcm_free(struct snd_pcm *pcm)
> -- 
> 2.9.0
> 
> 

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web