]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.14-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 3 Apr 2015 18:16:36 +0000 (20:16 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 3 Apr 2015 18:16:36 +0000 (20:16 +0200)
added patches:
asoc-cs4271-fix-wrong-value-references-for-boolean-kctl.patch
asoc-pcm1681-fix-wrong-value-references-for-boolean-kctl.patch
asoc-sgtl5000-remove-useless-register-write-clearing-chrgpump_powerup.patch

queue-3.14/asoc-cs4271-fix-wrong-value-references-for-boolean-kctl.patch [new file with mode: 0644]
queue-3.14/asoc-pcm1681-fix-wrong-value-references-for-boolean-kctl.patch [new file with mode: 0644]
queue-3.14/asoc-sgtl5000-remove-useless-register-write-clearing-chrgpump_powerup.patch [new file with mode: 0644]

diff --git a/queue-3.14/asoc-cs4271-fix-wrong-value-references-for-boolean-kctl.patch b/queue-3.14/asoc-cs4271-fix-wrong-value-references-for-boolean-kctl.patch
new file mode 100644 (file)
index 0000000..2db888a
--- /dev/null
@@ -0,0 +1,43 @@
+From e8371aa0fecb73fb8a4b2e0296b025b11e7d6229 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Tue, 10 Mar 2015 12:39:05 +0100
+Subject: ASoC: cs4271: Fix wrong value references for boolean kctl
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit e8371aa0fecb73fb8a4b2e0296b025b11e7d6229 upstream.
+
+The correct values referred by a boolean control are
+value.integer.value[], not value.enumerated.item[].
+The former is long while the latter is int, so it's even incompatible
+on 64bit architectures.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Acked-by: Paul Handrigan <Paul.Handrigan@cirrus.com>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/soc/codecs/cs4271.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/sound/soc/codecs/cs4271.c
++++ b/sound/soc/codecs/cs4271.c
+@@ -288,7 +288,7 @@ static int cs4271_get_deemph(struct snd_
+       struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol);
+       struct cs4271_private *cs4271 = snd_soc_codec_get_drvdata(codec);
+-      ucontrol->value.enumerated.item[0] = cs4271->deemph;
++      ucontrol->value.integer.value[0] = cs4271->deemph;
+       return 0;
+ }
+@@ -298,7 +298,7 @@ static int cs4271_put_deemph(struct snd_
+       struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol);
+       struct cs4271_private *cs4271 = snd_soc_codec_get_drvdata(codec);
+-      cs4271->deemph = ucontrol->value.enumerated.item[0];
++      cs4271->deemph = ucontrol->value.integer.value[0];
+       return cs4271_set_deemph(codec);
+ }
diff --git a/queue-3.14/asoc-pcm1681-fix-wrong-value-references-for-boolean-kctl.patch b/queue-3.14/asoc-pcm1681-fix-wrong-value-references-for-boolean-kctl.patch
new file mode 100644 (file)
index 0000000..ba11986
--- /dev/null
@@ -0,0 +1,42 @@
+From d7f58db49d9ad92bdb12d21fdc2308b76bc2ed38 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Tue, 10 Mar 2015 12:39:07 +0100
+Subject: ASoC: pcm1681: Fix wrong value references for boolean kctl
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit d7f58db49d9ad92bdb12d21fdc2308b76bc2ed38 upstream.
+
+The correct values referred by a boolean control are
+value.integer.value[], not value.enumerated.item[].
+The former is long while the latter is int, so it's even incompatible
+on 64bit architectures.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/soc/codecs/pcm1681.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/sound/soc/codecs/pcm1681.c
++++ b/sound/soc/codecs/pcm1681.c
+@@ -118,7 +118,7 @@ static int pcm1681_get_deemph(struct snd
+       struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol);
+       struct pcm1681_private *priv = snd_soc_codec_get_drvdata(codec);
+-      ucontrol->value.enumerated.item[0] = priv->deemph;
++      ucontrol->value.integer.value[0] = priv->deemph;
+       return 0;
+ }
+@@ -129,7 +129,7 @@ static int pcm1681_put_deemph(struct snd
+       struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol);
+       struct pcm1681_private *priv = snd_soc_codec_get_drvdata(codec);
+-      priv->deemph = ucontrol->value.enumerated.item[0];
++      priv->deemph = ucontrol->value.integer.value[0];
+       return pcm1681_set_deemph(codec);
+ }
diff --git a/queue-3.14/asoc-sgtl5000-remove-useless-register-write-clearing-chrgpump_powerup.patch b/queue-3.14/asoc-sgtl5000-remove-useless-register-write-clearing-chrgpump_powerup.patch
new file mode 100644 (file)
index 0000000..5e13bcd
--- /dev/null
@@ -0,0 +1,41 @@
+From c7d910b87d3c8e9fcf4077089ca4327c12eee099 Mon Sep 17 00:00:00 2001
+From: Eric Nelson <eric.nelson@boundarydevices.com>
+Date: Fri, 27 Feb 2015 08:06:45 -0700
+Subject: ASoC: sgtl5000: remove useless register write clearing CHRGPUMP_POWERUP
+
+From: Eric Nelson <eric.nelson@boundarydevices.com>
+
+commit c7d910b87d3c8e9fcf4077089ca4327c12eee099 upstream.
+
+The SGTL5000_CHIP_ANA_POWER register is cached. Update the cached
+value instead of writing it directly.
+
+Patch inspired by Russell King's more colorful remarks in this
+patch:
+       https://github.com/SolidRun/linux-imx6-3.14/commit/dd4bf6a
+
+Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/soc/codecs/sgtl5000.c |    8 +-------
+ 1 file changed, 1 insertion(+), 7 deletions(-)
+
+--- a/sound/soc/codecs/sgtl5000.c
++++ b/sound/soc/codecs/sgtl5000.c
+@@ -1198,13 +1198,7 @@ static int sgtl5000_set_power_regs(struc
+               /* Enable VDDC charge pump */
+               ana_pwr |= SGTL5000_VDDC_CHRGPMP_POWERUP;
+       } else if (vddio >= 3100 && vdda >= 3100) {
+-              /*
+-               * if vddio and vddd > 3.1v,
+-               * charge pump should be clean before set ana_pwr
+-               */
+-              snd_soc_update_bits(codec, SGTL5000_CHIP_ANA_POWER,
+-                              SGTL5000_VDDC_CHRGPMP_POWERUP, 0);
+-
++              ana_pwr &= ~SGTL5000_VDDC_CHRGPMP_POWERUP;
+               /* VDDC use VDDIO rail */
+               lreg_ctrl |= SGTL5000_VDDC_ASSN_OVRD;
+               lreg_ctrl |= SGTL5000_VDDC_MAN_ASSN_VDDIO <<