Skip to contentSkip to conversation

ASoC: tegra: Add DAPM switches for headphones and mic jack

PATCH In review Dmitry Osipenko 2 participants 3 messages Dec 11, 2021 – Dec 13, 2021

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/2 ASoC: tegra: Add DAPM switches for headphones and mic jack

UCM of Acer Chromebook (Nyan) uses DAPM switches of headphones and mic jack. These switches were lost by accident during unification of the machine drivers, restore them.

---
 sound/soc/tegra/tegra_asoc_machine.c | 2 ++
 1 file changed, 2 insertions(+)
sound/soc/tegra/tegra_asoc_machine.c +2 -0
index b95438c3dbf7..f3e86bd714b4 100644
@@ -116,6 +116,8 @@ static const struct snd_kcontrol_new tegra_machine_controls[] = {
 	SOC_DAPM_PIN_SWITCH("Headset Mic"),
 	SOC_DAPM_PIN_SWITCH("Internal Mic 1"),
 	SOC_DAPM_PIN_SWITCH("Internal Mic 2"),
+	SOC_DAPM_PIN_SWITCH("Headphones"),
+	SOC_DAPM_PIN_SWITCH("Mic Jack"),
 };
 
 int tegra_asoc_machine_init(struct snd_soc_pcm_runtime *rtd)
Signature · 1 line
2.33.1
#1 lore raw

PATCH 2/2 ASoC: tegra: Restore headphones jack name on Nyan Big

UCM of Acer Chromebook (Nyan) uses a different name for the headphones jack. The name was changed during unification of the machine drivers and UCM fails now to load because of that. Restore the old jack name.

---
 sound/soc/tegra/tegra_asoc_machine.c | 9 ++++++++-
 sound/soc/tegra/tegra_asoc_machine.h | 1 +
 2 files changed, 9 insertions(+), 1 deletion(-)
sound/soc/tegra/tegra_asoc_machine.c +8 -1
index f3e86bd714b4..a73404879aa1 100644
@@ -124,10 +124,16 @@ int tegra_asoc_machine_init(struct snd_soc_pcm_runtime *rtd)
 {
 	struct snd_soc_card *card = rtd->card;
 	struct tegra_machine *machine = snd_soc_card_get_drvdata(card);
+	const char *jack_name;
 	int err;
 
 	if (machine->gpiod_hp_det && machine->asoc->add_hp_jack) {
-		err = snd_soc_card_jack_new(card, "Headphones Jack",
+		if (machine->asoc->hp_jack_name)
+			jack_name = machine->asoc->hp_jack_name;
+		else
+			jack_name = "Headphones Jack";
+
+		err = snd_soc_card_jack_new(card, jack_name,
 					    SND_JACK_HEADPHONE,
 					    &tegra_machine_hp_jack,
 					    tegra_machine_hp_jack_pins,
@@ -660,6 +666,7 @@ static struct snd_soc_card snd_soc_tegra_max98090 = {
 static const struct tegra_asoc_data tegra_max98090_data = {
 	.mclk_rate = tegra_machine_mclk_rate_12mhz,
 	.card = &snd_soc_tegra_max98090,
+	.hp_jack_name = "Headphones",
 	.add_common_dapm_widgets = true,
 	.add_common_controls = true,
 	.add_common_snd_ops = true,
sound/soc/tegra/tegra_asoc_machine.h +1 -0
index d6a8d1320551..6f795d7dff7c 100644
@@ -14,6 +14,7 @@ struct snd_soc_pcm_runtime;
 struct tegra_asoc_data {
 	unsigned int (*mclk_rate)(unsigned int srate);
 	const char *codec_dev_name;
+	const char *hp_jack_name;
 	struct snd_soc_card *card;
 	unsigned int mclk_id;
 	bool hp_jack_gpio_active_low;
Signature · 1 line
2.33.1
maintainer
#2 lore raw
In reply to Dmitry Osipenko
Quoted 5 lines · Dmitry Osipenko

UCM of Acer Chromebook (Nyan) uses DAPM switches of headphones and mic jack. These switches were lost by accident during unification of the machine drivers, restore them.

Applied to

https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-linus

Thanks!

[1/2] ASoC: tegra: Add DAPM switches for headphones and mic jack

      commit: d341b427c3c3fd6a58263ce01e01700d16861c28
[2/2] ASoC: tegra: Restore headphones jack name on Nyan Big
      commit: db635ba4fadf3ba676d07537f3b3f58166aa7b0e

All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying to this mail.

Thanks,
Mark