Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9c1810f9 authored by Mark Brown's avatar Mark Brown
Browse files

Merge tag 'asoc-v3.16-rc1' into asoc-linus

ASoC: Fixes for v3.16

Quite a few build coverage fixes in here among the usual small driver
fixes includling the sigmadsp change from Lars - moving the driver to
separate modules per bus (which is basically just code motion) avoids
issues with some combinations of buses being enabled.

# gpg: Signature made Thu 19 Jun 2014 11:57:31 BST using RSA key ID 7EA229BD
# gpg: Good signature from "Mark Brown <broonie@sirena.org.uk>"
# gpg:                 aka "Mark Brown <broonie@debian.org>"
# gpg:                 aka "Mark Brown <broonie@kernel.org>"
# gpg:                 aka "Mark Brown <broonie@tardis.ed.ac.uk>"
# gpg:                 aka "Mark Brown <broonie@linaro.org>"
# gpg:                 aka "Mark Brown <Mark.Brown@linaro.org>"
parents 19583ca5 6385723a
Loading
Loading
Loading
Loading
+3 −6
Original line number Original line Diff line number Diff line
@@ -3505,6 +3505,7 @@ static irqreturn_t wm8994_mic_irq(int irq, void *data)
	return IRQ_HANDLED;
	return IRQ_HANDLED;
}
}


/* Should be called with accdet_lock held */
static void wm1811_micd_stop(struct snd_soc_codec *codec)
static void wm1811_micd_stop(struct snd_soc_codec *codec)
{
{
	struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec);
	struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec);
@@ -3512,14 +3513,10 @@ static void wm1811_micd_stop(struct snd_soc_codec *codec)
	if (!wm8994->jackdet)
	if (!wm8994->jackdet)
		return;
		return;


	mutex_lock(&wm8994->accdet_lock);

	snd_soc_update_bits(codec, WM8958_MIC_DETECT_1, WM8958_MICD_ENA, 0);
	snd_soc_update_bits(codec, WM8958_MIC_DETECT_1, WM8958_MICD_ENA, 0);


	wm1811_jackdet_set_mode(codec, WM1811_JACKDET_MODE_JACK);
	wm1811_jackdet_set_mode(codec, WM1811_JACKDET_MODE_JACK);


	mutex_unlock(&wm8994->accdet_lock);

	if (wm8994->wm8994->pdata.jd_ext_cap)
	if (wm8994->wm8994->pdata.jd_ext_cap)
		snd_soc_dapm_disable_pin(&codec->dapm,
		snd_soc_dapm_disable_pin(&codec->dapm,
					 "MICBIAS2");
					 "MICBIAS2");
@@ -3560,10 +3557,10 @@ static void wm8958_open_circuit_work(struct work_struct *work)
						  open_circuit_work.work);
						  open_circuit_work.work);
	struct device *dev = wm8994->wm8994->dev;
	struct device *dev = wm8994->wm8994->dev;


	wm1811_micd_stop(wm8994->hubs.codec);

	mutex_lock(&wm8994->accdet_lock);
	mutex_lock(&wm8994->accdet_lock);


	wm1811_micd_stop(wm8994->hubs.codec);

	dev_dbg(dev, "Reporting open circuit\n");
	dev_dbg(dev, "Reporting open circuit\n");


	wm8994->jack_mic = false;
	wm8994->jack_mic = false;
+2 −2
Original line number Original line Diff line number Diff line
@@ -590,8 +590,8 @@ static int fsl_ssi_set_bclk(struct snd_pcm_substream *substream,
		else
		else
			clkrate = clk_round_rate(ssi_private->baudclk, tmprate);
			clkrate = clk_round_rate(ssi_private->baudclk, tmprate);


		do_div(clkrate, factor);
		clkrate /= factor;
		afreq = (u32)clkrate / (i + 1);
		afreq = clkrate / (i + 1);


		if (freq == afreq)
		if (freq == afreq)
			sub = 0;
			sub = 0;