ASoC: dapm: Fix build warning
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Wed, 25 Mar 2015 11:22:35 +0000 (11:22 +0000)
committerMark Brown <broonie@kernel.org>
Wed, 25 Mar 2015 15:26:35 +0000 (08:26 -0700)
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 switching to using devm_kasprintf. This also
saves a couple of lines of code.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-dapm.c

index 6828b4ed5447998b6d144ff6ccaf87fe515b2a3b..e5ec9d7133ae1b99a62d1490e92bebe252269439 100644 (file)
@@ -3356,7 +3356,6 @@ int snd_soc_dapm_new_pcm(struct snd_soc_card *card,
 {
        struct snd_soc_dapm_widget template;
        struct snd_soc_dapm_widget *w;
-       size_t len;
        char *link_name;
        int ret, count;
        unsigned long private_value;
@@ -3376,28 +3375,26 @@ int snd_soc_dapm_new_pcm(struct snd_soc_card *card,
        if (!w_param_text)
                return -ENOMEM;
 
-       len = strlen(source->name) + strlen(sink->name) + 2;
-       link_name = devm_kzalloc(card->dev, len, GFP_KERNEL);
+       link_name = devm_kasprintf(card->dev, GFP_KERNEL, "%s-%s",
+                                  source->name, sink->name);
        if (!link_name) {
                ret = -ENOMEM;
                goto outfree_w_param;
        }
-       snprintf(link_name, len, "%s-%s", source->name, sink->name);
 
        for (count = 0 ; count < num_params; count++) {
                if (!config->stream_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);
+                               devm_kasprintf(card->dev, GFP_KERNEL,
+                                              "Anonymous Configuration %d",
+                                              count);
                        if (!w_param_text[count]) {
                                ret = -ENOMEM;
                                goto outfree_link_name;
                        }
-                       snprintf(w_param_text[count], len,
-                               "Anonymous Configuration %d", count);
                } else {
                        w_param_text[count] = devm_kmemdup(card->dev,
                                                config->stream_name,