]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.19-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 3 Apr 2015 18:16:47 +0000 (20:16 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 3 Apr 2015 18:16:47 +0000 (20:16 +0200)
added patches:
asoc-ak4671-fix-control-less-dapm-routes.patch
asoc-cs4271-fix-wrong-value-references-for-boolean-kctl.patch
asoc-da732x-fix-control-less-dapm-routes.patch
asoc-es8238-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
asoc-sn95031-fix-control-less-dapm-routes.patch

queue-3.19/asoc-ak4671-fix-control-less-dapm-routes.patch [new file with mode: 0644]
queue-3.19/asoc-cs4271-fix-wrong-value-references-for-boolean-kctl.patch [new file with mode: 0644]
queue-3.19/asoc-da732x-fix-control-less-dapm-routes.patch [new file with mode: 0644]
queue-3.19/asoc-es8238-fix-wrong-value-references-for-boolean-kctl.patch [new file with mode: 0644]
queue-3.19/asoc-pcm1681-fix-wrong-value-references-for-boolean-kctl.patch [new file with mode: 0644]
queue-3.19/asoc-sgtl5000-remove-useless-register-write-clearing-chrgpump_powerup.patch [new file with mode: 0644]
queue-3.19/asoc-sn95031-fix-control-less-dapm-routes.patch [new file with mode: 0644]

diff --git a/queue-3.19/asoc-ak4671-fix-control-less-dapm-routes.patch b/queue-3.19/asoc-ak4671-fix-control-less-dapm-routes.patch
new file mode 100644 (file)
index 0000000..095689e
--- /dev/null
@@ -0,0 +1,97 @@
+From ce9594c6b332fd6fe464e22a83b0e6e0a287aac6 Mon Sep 17 00:00:00 2001
+From: Lars-Peter Clausen <lars@metafoo.de>
+Date: Fri, 27 Feb 2015 14:13:02 +0100
+Subject: ASoC: ak4671: Fix control-less DAPM routes
+
+From: Lars-Peter Clausen <lars@metafoo.de>
+
+commit ce9594c6b332fd6fe464e22a83b0e6e0a287aac6 upstream.
+
+Routes without a control must use NULL for the control name. The ak4671
+driver uses "NULL" instead in a few places. Previous to commit 5fe5b767dc6f
+("ASoC: dapm: Do not pretend to support controls for non mixer/mux widgets")
+the DAPM core silently ignored non-NULL controls on non-mixer and non-mux
+routes. But starting with that commit it will complain and not add the
+route breaking the ak4671 driver in the process.
+
+This patch replaces the incorrect "NULL" control name with NULL to fix the
+issue.
+
+Fixes: 5fe5b767dc6f ("ASoC: dapm: Do not pretend to support controls for non mixer/mux widgets")
+Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/soc/codecs/ak4671.c |   44 ++++++++++++++++++++++----------------------
+ 1 file changed, 22 insertions(+), 22 deletions(-)
+
+--- a/sound/soc/codecs/ak4671.c
++++ b/sound/soc/codecs/ak4671.c
+@@ -343,25 +343,25 @@ static const struct snd_soc_dapm_widget
+ };
+ static const struct snd_soc_dapm_route ak4671_intercon[] = {
+-      {"DAC Left", "NULL", "PMPLL"},
+-      {"DAC Right", "NULL", "PMPLL"},
+-      {"ADC Left", "NULL", "PMPLL"},
+-      {"ADC Right", "NULL", "PMPLL"},
++      {"DAC Left", NULL, "PMPLL"},
++      {"DAC Right", NULL, "PMPLL"},
++      {"ADC Left", NULL, "PMPLL"},
++      {"ADC Right", NULL, "PMPLL"},
+       /* Outputs */
+-      {"LOUT1", "NULL", "LOUT1 Mixer"},
+-      {"ROUT1", "NULL", "ROUT1 Mixer"},
+-      {"LOUT2", "NULL", "LOUT2 Mix Amp"},
+-      {"ROUT2", "NULL", "ROUT2 Mix Amp"},
+-      {"LOUT3", "NULL", "LOUT3 Mixer"},
+-      {"ROUT3", "NULL", "ROUT3 Mixer"},
++      {"LOUT1", NULL, "LOUT1 Mixer"},
++      {"ROUT1", NULL, "ROUT1 Mixer"},
++      {"LOUT2", NULL, "LOUT2 Mix Amp"},
++      {"ROUT2", NULL, "ROUT2 Mix Amp"},
++      {"LOUT3", NULL, "LOUT3 Mixer"},
++      {"ROUT3", NULL, "ROUT3 Mixer"},
+       {"LOUT1 Mixer", "DACL", "DAC Left"},
+       {"ROUT1 Mixer", "DACR", "DAC Right"},
+       {"LOUT2 Mixer", "DACHL", "DAC Left"},
+       {"ROUT2 Mixer", "DACHR", "DAC Right"},
+-      {"LOUT2 Mix Amp", "NULL", "LOUT2 Mixer"},
+-      {"ROUT2 Mix Amp", "NULL", "ROUT2 Mixer"},
++      {"LOUT2 Mix Amp", NULL, "LOUT2 Mixer"},
++      {"ROUT2 Mix Amp", NULL, "ROUT2 Mixer"},
+       {"LOUT3 Mixer", "DACSL", "DAC Left"},
+       {"ROUT3 Mixer", "DACSR", "DAC Right"},
+@@ -381,18 +381,18 @@ static const struct snd_soc_dapm_route a
+       {"LIN2", NULL, "Mic Bias"},
+       {"RIN2", NULL, "Mic Bias"},
+-      {"ADC Left", "NULL", "LIN MUX"},
+-      {"ADC Right", "NULL", "RIN MUX"},
++      {"ADC Left", NULL, "LIN MUX"},
++      {"ADC Right", NULL, "RIN MUX"},
+       /* Analog Loops */
+-      {"LIN1 Mixing Circuit", "NULL", "LIN1"},
+-      {"RIN1 Mixing Circuit", "NULL", "RIN1"},
+-      {"LIN2 Mixing Circuit", "NULL", "LIN2"},
+-      {"RIN2 Mixing Circuit", "NULL", "RIN2"},
+-      {"LIN3 Mixing Circuit", "NULL", "LIN3"},
+-      {"RIN3 Mixing Circuit", "NULL", "RIN3"},
+-      {"LIN4 Mixing Circuit", "NULL", "LIN4"},
+-      {"RIN4 Mixing Circuit", "NULL", "RIN4"},
++      {"LIN1 Mixing Circuit", NULL, "LIN1"},
++      {"RIN1 Mixing Circuit", NULL, "RIN1"},
++      {"LIN2 Mixing Circuit", NULL, "LIN2"},
++      {"RIN2 Mixing Circuit", NULL, "RIN2"},
++      {"LIN3 Mixing Circuit", NULL, "LIN3"},
++      {"RIN3 Mixing Circuit", NULL, "RIN3"},
++      {"LIN4 Mixing Circuit", NULL, "LIN4"},
++      {"RIN4 Mixing Circuit", NULL, "RIN4"},
+       {"LOUT1 Mixer", "LINL1", "LIN1 Mixing Circuit"},
+       {"ROUT1 Mixer", "RINR1", "RIN1 Mixing Circuit"},
diff --git a/queue-3.19/asoc-cs4271-fix-wrong-value-references-for-boolean-kctl.patch b/queue-3.19/asoc-cs4271-fix-wrong-value-references-for-boolean-kctl.patch
new file mode 100644 (file)
index 0000000..8ea9e96
--- /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
+@@ -286,7 +286,7 @@ static int cs4271_get_deemph(struct snd_
+       struct snd_soc_codec *codec = snd_soc_kcontrol_codec(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;
+ }
+@@ -296,7 +296,7 @@ static int cs4271_put_deemph(struct snd_
+       struct snd_soc_codec *codec = snd_soc_kcontrol_codec(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.19/asoc-da732x-fix-control-less-dapm-routes.patch b/queue-3.19/asoc-da732x-fix-control-less-dapm-routes.patch
new file mode 100644 (file)
index 0000000..3a633de
--- /dev/null
@@ -0,0 +1,47 @@
+From 8e6a75c102f8e232b599a06e06731d8c5d5f2c5d Mon Sep 17 00:00:00 2001
+From: Lars-Peter Clausen <lars@metafoo.de>
+Date: Fri, 27 Feb 2015 14:13:03 +0100
+Subject: ASoC: da732x: Fix control-less DAPM routes
+
+From: Lars-Peter Clausen <lars@metafoo.de>
+
+commit 8e6a75c102f8e232b599a06e06731d8c5d5f2c5d upstream.
+
+Routes without a control must use NULL for the control name. The da732x
+driver uses "NULL" instead in a few places. Previous to commit 5fe5b767dc6f
+("ASoC: dapm: Do not pretend to support controls for non mixer/mux widgets")
+the DAPM core silently ignored non-NULL controls on non-mixer and non-mux
+routes. But starting with that commit it will complain and not add the
+route breaking the da732x driver in the process.
+
+This patch replaces the incorrect "NULL" control name with NULL to fix the
+issue.
+
+Fixes: 5fe5b767dc6f ("ASoC: dapm: Do not pretend to support controls for non mixer/mux widgets")
+Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
+Acked-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/soc/codecs/da732x.c |    8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+--- a/sound/soc/codecs/da732x.c
++++ b/sound/soc/codecs/da732x.c
+@@ -876,11 +876,11 @@ static const struct snd_soc_dapm_widget
+ static const struct snd_soc_dapm_route da732x_dapm_routes[] = {
+       /* Inputs */
+-      {"AUX1L PGA", "NULL", "AUX1L"},
+-      {"AUX1R PGA", "NULL", "AUX1R"},
++      {"AUX1L PGA", NULL, "AUX1L"},
++      {"AUX1R PGA", NULL, "AUX1R"},
+       {"MIC1 PGA", NULL, "MIC1"},
+-      {"MIC2 PGA", "NULL", "MIC2"},
+-      {"MIC3 PGA", "NULL", "MIC3"},
++      {"MIC2 PGA", NULL, "MIC2"},
++      {"MIC3 PGA", NULL, "MIC3"},
+       /* Capture Path */
+       {"ADC1 Left MUX", "MIC1", "MIC1 PGA"},
diff --git a/queue-3.19/asoc-es8238-fix-wrong-value-references-for-boolean-kctl.patch b/queue-3.19/asoc-es8238-fix-wrong-value-references-for-boolean-kctl.patch
new file mode 100644 (file)
index 0000000..78993a3
--- /dev/null
@@ -0,0 +1,42 @@
+From d223b0e7fcfecc23380e7de45eb6a0e7b328c17c Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Tue, 10 Mar 2015 12:39:06 +0100
+Subject: ASoC: es8238: Fix wrong value references for boolean kctl
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit d223b0e7fcfecc23380e7de45eb6a0e7b328c17c 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/es8328.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/sound/soc/codecs/es8328.c
++++ b/sound/soc/codecs/es8328.c
+@@ -120,7 +120,7 @@ static int es8328_get_deemph(struct snd_
+       struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
+       struct es8328_priv *es8328 = snd_soc_codec_get_drvdata(codec);
+-      ucontrol->value.enumerated.item[0] = es8328->deemph;
++      ucontrol->value.integer.value[0] = es8328->deemph;
+       return 0;
+ }
+@@ -129,7 +129,7 @@ static int es8328_put_deemph(struct snd_
+ {
+       struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
+       struct es8328_priv *es8328 = snd_soc_codec_get_drvdata(codec);
+-      int deemph = ucontrol->value.enumerated.item[0];
++      int deemph = ucontrol->value.integer.value[0];
+       int ret;
+       if (deemph > 1)
diff --git a/queue-3.19/asoc-pcm1681-fix-wrong-value-references-for-boolean-kctl.patch b/queue-3.19/asoc-pcm1681-fix-wrong-value-references-for-boolean-kctl.patch
new file mode 100644 (file)
index 0000000..3c5139c
--- /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_soc_kcontrol_codec(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_soc_kcontrol_codec(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.19/asoc-sgtl5000-remove-useless-register-write-clearing-chrgpump_powerup.patch b/queue-3.19/asoc-sgtl5000-remove-useless-register-write-clearing-chrgpump_powerup.patch
new file mode 100644 (file)
index 0000000..46faa5d
--- /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
+@@ -1149,13 +1149,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 <<
diff --git a/queue-3.19/asoc-sn95031-fix-control-less-dapm-routes.patch b/queue-3.19/asoc-sn95031-fix-control-less-dapm-routes.patch
new file mode 100644 (file)
index 0000000..499701c
--- /dev/null
@@ -0,0 +1,42 @@
+From cdd3d2a93f08823a0b9802147dc28c99029dfdfd Mon Sep 17 00:00:00 2001
+From: Lars-Peter Clausen <lars@metafoo.de>
+Date: Fri, 27 Feb 2015 14:13:04 +0100
+Subject: ASoC: sn95031: Fix control-less DAPM routes
+
+From: Lars-Peter Clausen <lars@metafoo.de>
+
+commit cdd3d2a93f08823a0b9802147dc28c99029dfdfd upstream.
+
+Routes without a control must use NULL for the control name. The sn95031
+driver uses "NULL" instead in a few places. Previous to commit 5fe5b767dc6f
+("ASoC: dapm: Do not pretend to support controls for non mixer/mux widgets")
+the DAPM core silently ignored non-NULL controls on non-mixer and non-mux
+routes. But starting with that commit it will complain and not add the
+route breaking the sn95031 driver in the process.
+
+This patch replaces the incorrect "NULL" control name with NULL to fix the
+issue.
+
+Fixes: 5fe5b767dc6f ("ASoC: dapm: Do not pretend to support controls for non mixer/mux widgets")
+Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
+Acked-by: Vinod Koul <vinod.koul@intel.com>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/soc/codecs/sn95031.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/sound/soc/codecs/sn95031.c
++++ b/sound/soc/codecs/sn95031.c
+@@ -531,8 +531,8 @@ static const struct snd_soc_dapm_route s
+       /* speaker map */
+       { "IHFOUTL", NULL, "Speaker Rail"},
+       { "IHFOUTR", NULL, "Speaker Rail"},
+-      { "IHFOUTL", "NULL", "Speaker Left Playback"},
+-      { "IHFOUTR", "NULL", "Speaker Right Playback"},
++      { "IHFOUTL", NULL, "Speaker Left Playback"},
++      { "IHFOUTR", NULL, "Speaker Right Playback"},
+       { "Speaker Left Playback", NULL, "Speaker Left Filter"},
+       { "Speaker Right Playback", NULL, "Speaker Right Filter"},
+       { "Speaker Left Filter", NULL, "IHFDAC Left"},