Browse Source

ASoC: Add doa tracking params only for LE platforms

Doa tracking params are applicable only for LE platforms.
Add respective check for the same. Also add config to
enable doa params for LE.

Change-Id: Ia8c2fd095deb44a3dd0b958da0b73c94dbc7d819
Signed-off-by: Vatsal Bucha <[email protected]>
Vatsal Bucha 5 years ago
parent
commit
7ceafae61e
1 changed files with 19 additions and 0 deletions
  1. 19 0
      asoc/msm-pcm-routing-v2.c

+ 19 - 0
asoc/msm-pcm-routing-v2.c

@@ -23315,6 +23315,9 @@ static const struct snd_kcontrol_new msm_source_tracking_controls[] = {
 		.info   = msm_source_tracking_info,
 		.get    = msm_audio_source_tracking_get,
 	},
+};
+
+static const struct snd_kcontrol_new msm_source_doa_tracking_controls[] = {
 	{
 		.access = SNDRV_CTL_ELEM_ACCESS_READ,
 		.iface	= SNDRV_CTL_ELEM_IFACE_MIXER,
@@ -30159,6 +30162,20 @@ static const struct snd_pcm_ops msm_routing_pcm_ops = {
 	.prepare        = msm_pcm_routing_prepare,
 };
 
+#ifdef CONFIG_DOA_PARAMS_ENABLED
+void msm_routing_add_doa_control(struct snd_soc_component *component)
+{
+	snd_soc_add_component_controls(component,
+				msm_source_doa_tracking_controls,
+				ARRAY_SIZE(msm_source_doa_tracking_controls));
+}
+#else
+void msm_routing_add_doa_control(struct snd_soc_component *component)
+{
+	return;
+}
+#endif
+
 /* Not used but frame seems to require it */
 static int msm_routing_probe(struct snd_soc_component *component)
 {
@@ -30224,6 +30241,8 @@ static int msm_routing_probe(struct snd_soc_component *component)
 		msm_routing_be_dai_name_table_mixer_controls,
 		ARRAY_SIZE(msm_routing_be_dai_name_table_mixer_controls));
 
+	/* Add doa control based on config */
+	msm_routing_add_doa_control(component);
 	snd_soc_add_component_controls(component, msm_source_tracking_controls,
 				ARRAY_SIZE(msm_source_tracking_controls));
 	snd_soc_add_component_controls(component, adm_channel_config_controls,