int sof_rt5682_codec_init(struct snd_soc_pcm_runtime *rtd) struct sof_card_private *ctx = snd_soc_card_get_drvdata(rtd->card); struct snd_soc_component *component = asoc_rtd_to_codec(rtd,
0)->component;
struct snd_soc_jack *jack;
- int ret;
- int ret, extra;
two lines, and rename to e.g. extra_jack_data
Will do.
- if (sof_rt5682_quirk & SOF_RT5650_HEADPHONE_CODEC_PRESENT) {
extra = SND_JACK_MICROPHONE | SND_JACK_BTN_0;
ret = snd_soc_component_set_jack(component, jack,
&extra);
I am a bit confused on why this wasn't set for rt5682?
Rt5650's driver needs this parameter to specify whether button detection is required while rt5682's driver does not need it.
+static struct snd_soc_dai_link_component rt5650_components[] = {
- {
.name = "i2c-10EC5650:00",
.dai_name = "rt5645-aif1",
- },
- {
.name = "i2c-10EC5650:00",
.dai_name = "rt5645-aif2",
- }
+};
can we move these definitions to realtek_common.c, chances are other boards will also use this codec. Thanks!
Rt5650 is a all-in-one codec which supports headphone and speaker output. It's unlikely to be paired with other headphone codec. Suggest keeping it in sof_rt5682.c
Regards, Brent