--- /dev/null
+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
+@@ -267,7 +267,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;
+ }
+
+@@ -277,7 +277,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);
+ }
+
--- /dev/null
+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
+@@ -1111,13 +1111,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 <<
--- /dev/null
+asoc-sgtl5000-remove-useless-register-write-clearing-chrgpump_powerup.patch
+asoc-cs4271-fix-wrong-value-references-for-boolean-kctl.patch
--- /dev/null
+asoc-sgtl5000-remove-useless-register-write-clearing-chrgpump_powerup.patch
+asoc-pcm1681-fix-wrong-value-references-for-boolean-kctl.patch
+asoc-cs4271-fix-wrong-value-references-for-boolean-kctl.patch
--- /dev/null
+asoc-da732x-fix-control-less-dapm-routes.patch
+asoc-ak4671-fix-control-less-dapm-routes.patch
+asoc-sn95031-fix-control-less-dapm-routes.patch
+asoc-sgtl5000-remove-useless-register-write-clearing-chrgpump_powerup.patch
+asoc-pcm1681-fix-wrong-value-references-for-boolean-kctl.patch
+asoc-cs4271-fix-wrong-value-references-for-boolean-kctl.patch
+asoc-es8238-fix-wrong-value-references-for-boolean-kctl.patch