mirror of https://gitee.com/openkylin/linux.git
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. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJTosIbAAoJELSic+t+oim9IpQP/1+cf6AuaKNIlOKpnqE4i3xF BZSNHp+8YGdsKuq2h5W2cTwDfPCOZIJnQJ82M3w9LRyMJFLmvp4HSw3Syt6z1EOM Ib+pYKrsbUlj9DDv8Hox4gzGtqokWVrXDhe9HF5h0QE2959UXhVdFSUflBzg3mH/ hOGcgFQH7YztySZlO1qlPjYOs6ukgMSAL2eFNIxpCvFMJk9pMxF19CZqS8b9qpPo 5EBQRLeycabvXA2ubwbVEjH68XJ73Ib49vQGYrpb1tgkEECL/m/uz9CdKCxb3Kva 1Oss7B7qtHD4Db+WbGSSE3wWD+KciybcIVy8OtLNllx8V4ipjld2lwnwybpIDlVN 3yRWHH/wYqDbFSinKfKONaoDHB9Xm6LgFCglFRpogkc7TMd7KuKsLvVwTcYVl+tL g+0ThA507ftggiJWjGMEio/zn/N2pFx8W04LCCj3iEo5HS3JMMRKUHacIMYYqdGa /nV7VyVJvFn7KIWJXxsWJpDK9+tUB9gAGCKCBiprKgAdfNp/dHrrlgQiJ3DS59W9 MGieBHU02G7xW/vOBLsq2iFinv9f0b3XDktbNmhNDLIkB7JWBT76BD4UTnLcEqOy vHuBAUKrcfd5+Vr0w6ARHX8903Vr8xUurP31b+DniJDdu50/N2m6t0CaGPn3PQ6a hllVAza23w8Jn1EsJV9h =O7yF -----END PGP SIGNATURE----- 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>"
This commit is contained in:
commit
9c1810f9c3
|
@ -3505,6 +3505,7 @@ static irqreturn_t wm8994_mic_irq(int irq, void *data)
|
|||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
/* Should be called with accdet_lock held */
|
||||
static void wm1811_micd_stop(struct snd_soc_codec *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)
|
||||
return;
|
||||
|
||||
mutex_lock(&wm8994->accdet_lock);
|
||||
|
||||
snd_soc_update_bits(codec, WM8958_MIC_DETECT_1, WM8958_MICD_ENA, 0);
|
||||
|
||||
wm1811_jackdet_set_mode(codec, WM1811_JACKDET_MODE_JACK);
|
||||
|
||||
mutex_unlock(&wm8994->accdet_lock);
|
||||
|
||||
if (wm8994->wm8994->pdata.jd_ext_cap)
|
||||
snd_soc_dapm_disable_pin(&codec->dapm,
|
||||
"MICBIAS2");
|
||||
|
@ -3560,10 +3557,10 @@ static void wm8958_open_circuit_work(struct work_struct *work)
|
|||
open_circuit_work.work);
|
||||
struct device *dev = wm8994->wm8994->dev;
|
||||
|
||||
wm1811_micd_stop(wm8994->hubs.codec);
|
||||
|
||||
mutex_lock(&wm8994->accdet_lock);
|
||||
|
||||
wm1811_micd_stop(wm8994->hubs.codec);
|
||||
|
||||
dev_dbg(dev, "Reporting open circuit\n");
|
||||
|
||||
wm8994->jack_mic = false;
|
||||
|
|
|
@ -590,8 +590,8 @@ static int fsl_ssi_set_bclk(struct snd_pcm_substream *substream,
|
|||
else
|
||||
clkrate = clk_round_rate(ssi_private->baudclk, tmprate);
|
||||
|
||||
do_div(clkrate, factor);
|
||||
afreq = (u32)clkrate / (i + 1);
|
||||
clkrate /= factor;
|
||||
afreq = clkrate / (i + 1);
|
||||
|
||||
if (freq == afreq)
|
||||
sub = 0;
|
||||
|
|
Loading…
Reference in New Issue