OSDN Git Service

ASoC: Intel: sof_sdw: add mic:dmic and cfg-mics component strings
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Mon, 8 Feb 2021 23:33:29 +0000 (17:33 -0600)
committerMark Brown <broonie@kernel.org>
Wed, 10 Feb 2021 17:22:47 +0000 (17:22 +0000)
UCM needs to know which microphone is used (dmic or RT715-based),
let's add the information in the component string.

Note the slight change from HDAudio platforms where 'cfg-dmics' was
used. 'cfg-mics' is used here with the intent that this component
string describes either the number of PCH-attached microphones or the
number of RT715-attached ones (the assumption is that the two
configurations are mutually exclusive).

Suggested-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20210208233336.59449-5-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/boards/sof_sdw.c

index 0e83db9..d1251a6 100644 (file)
@@ -1222,6 +1222,15 @@ static int mc_probe(struct platform_device *pdev)
        if (!card->components)
                return -ENOMEM;
 
+       if (mach->mach_params.dmic_num) {
+               card->components = devm_kasprintf(card->dev, GFP_KERNEL,
+                                                 "%s mic:dmic cfg-mics:%d",
+                                                 card->components,
+                                                 mach->mach_params.dmic_num);
+               if (!card->components)
+                       return -ENOMEM;
+       }
+
        card->long_name = sdw_card_long_name;
 
        /* Register the card */