Unverified Commit 1d25684e authored by Mark Brown's avatar Mark Brown
Browse files

ASoC: nau8824: Fix open coded prefix handling



As with the component layer code the nau8824 driver had been doing some
open coded pin manipulation which will have been broken now the core is
fixed to handle this properly, remove the open coding to avoid the issue.

Signed-off-by: default avatarMark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20210728234729.10135-1-broonie@kernel.org


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent bb6a40fc
Loading
Loading
Loading
Loading
+6 −36
Original line number Diff line number Diff line
@@ -828,36 +828,6 @@ static void nau8824_int_status_clear_all(struct regmap *regmap)
	}
}

static void nau8824_dapm_disable_pin(struct nau8824 *nau8824, const char *pin)
{
	struct snd_soc_dapm_context *dapm = nau8824->dapm;
	const char *prefix = dapm->component->name_prefix;
	char prefixed_pin[80];

	if (prefix) {
		snprintf(prefixed_pin, sizeof(prefixed_pin), "%s %s",
			 prefix, pin);
		snd_soc_dapm_disable_pin(dapm, prefixed_pin);
	} else {
		snd_soc_dapm_disable_pin(dapm, pin);
	}
}

static void nau8824_dapm_enable_pin(struct nau8824 *nau8824, const char *pin)
{
	struct snd_soc_dapm_context *dapm = nau8824->dapm;
	const char *prefix = dapm->component->name_prefix;
	char prefixed_pin[80];

	if (prefix) {
		snprintf(prefixed_pin, sizeof(prefixed_pin), "%s %s",
			 prefix, pin);
		snd_soc_dapm_force_enable_pin(dapm, prefixed_pin);
	} else {
		snd_soc_dapm_force_enable_pin(dapm, pin);
	}
}

static void nau8824_eject_jack(struct nau8824 *nau8824)
{
	struct snd_soc_dapm_context *dapm = nau8824->dapm;
@@ -866,8 +836,8 @@ static void nau8824_eject_jack(struct nau8824 *nau8824)
	/* Clear all interruption status */
	nau8824_int_status_clear_all(regmap);

	nau8824_dapm_disable_pin(nau8824, "SAR");
	nau8824_dapm_disable_pin(nau8824, "MICBIAS");
	snd_soc_dapm_disable_pin(dapm, "SAR");
	snd_soc_dapm_disable_pin(dapm, "MICBIAS");
	snd_soc_dapm_sync(dapm);

	/* Enable the insertion interruption, disable the ejection
@@ -897,8 +867,8 @@ static void nau8824_jdet_work(struct work_struct *work)
	struct regmap *regmap = nau8824->regmap;
	int adc_value, event = 0, event_mask = 0;

	nau8824_dapm_enable_pin(nau8824, "MICBIAS");
	nau8824_dapm_enable_pin(nau8824, "SAR");
	snd_soc_dapm_enable_pin(dapm, "MICBIAS");
	snd_soc_dapm_enable_pin(dapm, "SAR");
	snd_soc_dapm_sync(dapm);

	msleep(100);
@@ -909,8 +879,8 @@ static void nau8824_jdet_work(struct work_struct *work)
	if (adc_value < HEADSET_SARADC_THD) {
		event |= SND_JACK_HEADPHONE;

		nau8824_dapm_disable_pin(nau8824, "SAR");
		nau8824_dapm_disable_pin(nau8824, "MICBIAS");
		snd_soc_dapm_disable_pin(dapm, "SAR");
		snd_soc_dapm_disable_pin(dapm, "MICBIAS");
		snd_soc_dapm_sync(dapm);
	} else {
		event |= SND_JACK_HEADSET;