From: Greg Kroah-Hartman Date: Fri, 3 Apr 2015 18:16:36 +0000 (+0200) Subject: 3.14-stable patches X-Git-Tag: v3.10.74~21 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c9d7b7f1007d6d0861241798a6db68809172584c;p=thirdparty%2Fkernel%2Fstable-queue.git 3.14-stable patches 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 --- 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 index 00000000000..2db888aa95f --- /dev/null +++ b/queue-3.14/asoc-cs4271-fix-wrong-value-references-for-boolean-kctl.patch @@ -0,0 +1,43 @@ +From e8371aa0fecb73fb8a4b2e0296b025b11e7d6229 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Tue, 10 Mar 2015 12:39:05 +0100 +Subject: ASoC: cs4271: Fix wrong value references for boolean kctl + +From: Takashi Iwai + +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 +Acked-by: Paul Handrigan +Signed-off-by: Mark Brown +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..ba11986dfd6 --- /dev/null +++ b/queue-3.14/asoc-pcm1681-fix-wrong-value-references-for-boolean-kctl.patch @@ -0,0 +1,42 @@ +From d7f58db49d9ad92bdb12d21fdc2308b76bc2ed38 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Tue, 10 Mar 2015 12:39:07 +0100 +Subject: ASoC: pcm1681: Fix wrong value references for boolean kctl + +From: Takashi Iwai + +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 +Signed-off-by: Mark Brown +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..5e13bcdc8f5 --- /dev/null +++ b/queue-3.14/asoc-sgtl5000-remove-useless-register-write-clearing-chrgpump_powerup.patch @@ -0,0 +1,41 @@ +From c7d910b87d3c8e9fcf4077089ca4327c12eee099 Mon Sep 17 00:00:00 2001 +From: Eric Nelson +Date: Fri, 27 Feb 2015 08:06:45 -0700 +Subject: ASoC: sgtl5000: remove useless register write clearing CHRGPUMP_POWERUP + +From: Eric Nelson + +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 +Signed-off-by: Mark Brown +Signed-off-by: Greg Kroah-Hartman + +--- + 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 <<