Re: [alsa-devel] [PATCH] ASoC: DAPM: Fix build warning

From: Takashi Iwai
Date: Wed Mar 25 2015 - 06:54:07 EST


At Wed, 25 Mar 2015 10:13:28 +0000,
Charles Keepax wrote:
>
> commit c66150824b8a ("ASoC: dapm: add code to configure dai link
> parameters") introduced the following build warning:
>
> sound/soc/soc-dapm.c: In function 'snd_soc_dapm_new_pcm':
> sound/soc/soc-dapm.c:3389:4: warning: passing argument 1 of 'snprintf'
> discards 'const' qualifier from pointer target type
> snprintf(w_param_text[count], len,
>
> This patch fixes this by adding a non-const temporary variable to hold
> the value as it is created before assigning to the entry in
> w_param_text.
>
> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>

An easier fix would be to replace with devm_kasprintf(). Then you can
do it all in a single line.

w_param_text[count] = devm_kasprintf(card->dev, GFP_KERNEL,
"Anonymous Configuration %d", count);


Takashi

> ---
> sound/soc/soc-dapm.c | 10 ++++++----
> 1 files changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
> index 049b300..7640370 100644
> --- a/sound/soc/soc-dapm.c
> +++ b/sound/soc/soc-dapm.c
> @@ -3376,18 +3376,20 @@ int snd_soc_dapm_new_pcm(struct snd_soc_card *card,
>
> for (count = 0 ; count < num_params; count++) {
> if (!config->stream_name) {
> + char *anon_name;
> +
> dev_warn(card->dapm.dev,
> "ASoC: anonymous config %d for dai link %s\n",
> count, link_name);
> len = strlen("Anonymous Configuration ") + 3;
> - w_param_text[count] =
> - devm_kzalloc(card->dev, len, GFP_KERNEL);
> - if (!w_param_text[count]) {
> + anon_name = devm_kzalloc(card->dev, len, GFP_KERNEL);
> + if (!anon_name) {
> ret = -ENOMEM;
> goto outfree_link_name;
> }
> - snprintf(w_param_text[count], len,
> + snprintf(anon_name, len,
> "Anonymous Configuration %d", count);
> + w_param_text[count] = anon_name;
> } else {
> w_param_text[count] = devm_kmemdup(card->dev,
> config->stream_name,
> --
> 1.7.2.5
>
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@xxxxxxxxxxxxxxxx
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/