On Fri, Oct 28, 2022 at 06:24:50PM +0800, Ajye Huang wrote: > + dmic->dmic_sel = devm_gpiod_get_optional(component->dev, > + "dmic_sel", GPIOD_OUT_LOW); > + if (IS_ERR(dmic->dmic_sel)) > + return PTR_ERR(dmic->dmic_sel); > + > snd_soc_component_set_drvdata(component, dmic); > > return 0; > @@ -125,10 +172,15 @@ static const struct snd_soc_dapm_widget dmic_dapm_widgets[] = { > SND_SOC_NOPM, 0, 0, dmic_aif_event, > SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD), > SND_SOC_DAPM_INPUT("DMic"), > + SND_SOC_DAPM_MIC("DMIC", NULL), > + SND_SOC_DAPM_MUX("Dmic Mux", SND_SOC_NOPM, 0, 0, &dmic_mux_control), If we are doing this then adding the mux needs to be conditional on having the GPIO, without the GPIO the control is at best confusing to users.
Attachment:
signature.asc
Description: PGP signature