Commit 8cd9956f authored by Jaroslav Kysela's avatar Jaroslav Kysela Committed by Mark Brown

ASoC: intel/skl/hda - export number of digital microphones via control components

It is required for the auto-detection in the user space (for UCM).
Signed-off-by: default avatarJaroslav Kysela <perex@perex.cz>
Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Cc: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20191204211556.12671-2-pierre-louis.bossart@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 14428429
...@@ -100,6 +100,8 @@ static struct snd_soc_card hda_soc_card = { ...@@ -100,6 +100,8 @@ static struct snd_soc_card hda_soc_card = {
.late_probe = skl_hda_card_late_probe, .late_probe = skl_hda_card_late_probe,
}; };
static char hda_soc_components[30];
#define IDISP_DAI_COUNT 3 #define IDISP_DAI_COUNT 3
#define HDAC_DAI_COUNT 2 #define HDAC_DAI_COUNT 2
#define DMIC_DAI_COUNT 2 #define DMIC_DAI_COUNT 2
...@@ -183,6 +185,12 @@ static int skl_hda_audio_probe(struct platform_device *pdev) ...@@ -183,6 +185,12 @@ static int skl_hda_audio_probe(struct platform_device *pdev)
hda_soc_card.dev = &pdev->dev; hda_soc_card.dev = &pdev->dev;
snd_soc_card_set_drvdata(&hda_soc_card, ctx); snd_soc_card_set_drvdata(&hda_soc_card, ctx);
if (mach->mach_params.dmic_num > 0) {
snprintf(hda_soc_components, sizeof(hda_soc_components),
"cfg-dmics:%d", mach->mach_params.dmic_num);
hda_soc_card.components = hda_soc_components;
}
return devm_snd_soc_register_card(&pdev->dev, &hda_soc_card); return devm_snd_soc_register_card(&pdev->dev, &hda_soc_card);
} }
......
...@@ -351,7 +351,7 @@ static int hda_init_caps(struct snd_sof_dev *sdev) ...@@ -351,7 +351,7 @@ static int hda_init_caps(struct snd_sof_dev *sdev)
const char *tplg_filename; const char *tplg_filename;
const char *idisp_str; const char *idisp_str;
const char *dmic_str; const char *dmic_str;
int dmic_num; int dmic_num = 0;
int codec_num = 0; int codec_num = 0;
int i; int i;
#endif #endif
...@@ -472,6 +472,7 @@ static int hda_init_caps(struct snd_sof_dev *sdev) ...@@ -472,6 +472,7 @@ static int hda_init_caps(struct snd_sof_dev *sdev)
mach_params->codec_mask = bus->codec_mask; mach_params->codec_mask = bus->codec_mask;
mach_params->platform = dev_name(sdev->dev); mach_params->platform = dev_name(sdev->dev);
mach_params->common_hdmi_codec_drv = hda_codec_use_common_hdmi; mach_params->common_hdmi_codec_drv = hda_codec_use_common_hdmi;
mach_params->dmic_num = dmic_num;
} }
/* create codec instances */ /* create codec instances */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment