ASoC: Intel: skl_hda_dsp_generic: Use devm_kasprintf for the components string
authorPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
Fri, 26 Apr 2024 15:21:13 +0000 (10:21 -0500)
committerMark Brown <broonie@kernel.org>
Mon, 29 Apr 2024 15:09:59 +0000 (00:09 +0900)
Instead of using a global char array, allocate the string with
devm_kasprintf if needed.

Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20240426152123.36284-3-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/boards/skl_hda_dsp_generic.c

index 208395872d8b21f7e14745df8388949f8338b97b..88d91c0280bbb8b26633bcaf662984f35c1e2eba 100644 (file)
@@ -92,8 +92,6 @@ skl_hda_add_dai_link(struct snd_soc_card *card, struct snd_soc_dai_link *link)
        return ret;
 }
 
-static char hda_soc_components[30];
-
 #define IDISP_DAI_COUNT                3
 #define HDAC_DAI_COUNT         2
 #define DMIC_DAI_COUNT         2
@@ -231,9 +229,11 @@ static int skl_hda_audio_probe(struct platform_device *pdev)
                card->disable_route_checks = true;
 
        if (mach->mach_params.dmic_num > 0) {
-               snprintf(hda_soc_components, sizeof(hda_soc_components),
-                               "cfg-dmics:%d", mach->mach_params.dmic_num);
-               card->components = hda_soc_components;
+               card->components = devm_kasprintf(card->dev, GFP_KERNEL,
+                                                 "cfg-dmics:%d",
+                                                 mach->mach_params.dmic_num);
+               if (!card->components)
+                       return -ENOMEM;
        }
 
        ret = devm_snd_soc_register_card(&pdev->dev, card);