[PATCH AUTOSEL 5.8 03/20] ASoC: wm8994: Skip setting of the WM8994_MICBIAS register for WM1811
From: Sylwester Nawrocki s.nawrocki@samsung.com
[ Upstream commit 811c5494436789e7149487c06e0602b507ce274b ]
The WM8994_MICBIAS register is not available in the WM1811 CODEC so skip initialization of that register for that device. This suppresses an error during boot: "wm8994-codec: ASoC: error at snd_soc_component_update_bits on wm8994-codec"
Signed-off-by: Sylwester Nawrocki s.nawrocki@samsung.com Acked-by: Krzysztof Kozlowski krzk@kernel.org Acked-by: Charles Keepax ckeepax@opensource.cirrus.com Link: https://lore.kernel.org/r/20200827173357.31891-1-s.nawrocki@samsung.com Signed-off-by: Mark Brown broonie@kernel.org Signed-off-by: Sasha Levin sashal@kernel.org --- sound/soc/codecs/wm8994.c | 2 ++ sound/soc/codecs/wm_hubs.c | 3 +++ sound/soc/codecs/wm_hubs.h | 1 + 3 files changed, 6 insertions(+)
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c index 55d0b9be6ff00..c2116836a7203 100644 --- a/sound/soc/codecs/wm8994.c +++ b/sound/soc/codecs/wm8994.c @@ -4166,11 +4166,13 @@ static int wm8994_component_probe(struct snd_soc_component *component) wm8994->hubs.dcs_readback_mode = 2; break; } + wm8994->hubs.micd_scthr = true; break;
case WM8958: wm8994->hubs.dcs_readback_mode = 1; wm8994->hubs.hp_startup_mode = 1; + wm8994->hubs.micd_scthr = true;
switch (control->revision) { case 0: diff --git a/sound/soc/codecs/wm_hubs.c b/sound/soc/codecs/wm_hubs.c index e93af7edd8f75..dd421e2fe7b21 100644 --- a/sound/soc/codecs/wm_hubs.c +++ b/sound/soc/codecs/wm_hubs.c @@ -1223,6 +1223,9 @@ int wm_hubs_handle_analogue_pdata(struct snd_soc_component *component, snd_soc_component_update_bits(component, WM8993_ADDITIONAL_CONTROL, WM8993_LINEOUT2_FB, WM8993_LINEOUT2_FB);
+ if (!hubs->micd_scthr) + return 0; + snd_soc_component_update_bits(component, WM8993_MICBIAS, WM8993_JD_SCTHR_MASK | WM8993_JD_THR_MASK | WM8993_MICB1_LVL | WM8993_MICB2_LVL, diff --git a/sound/soc/codecs/wm_hubs.h b/sound/soc/codecs/wm_hubs.h index 4b8e5f0d6e32d..988b29e630607 100644 --- a/sound/soc/codecs/wm_hubs.h +++ b/sound/soc/codecs/wm_hubs.h @@ -27,6 +27,7 @@ struct wm_hubs_data { int hp_startup_mode; int series_startup; int no_series_update; + bool micd_scthr;
bool no_cache_dac_hp_direct; struct list_head dcs_cache;
On Mon, Sep 21, 2020 at 10:40:10AM -0400, Sasha Levin wrote:
The WM8994_MICBIAS register is not available in the WM1811 CODEC so skip initialization of that register for that device. This suppresses an error during boot: "wm8994-codec: ASoC: error at snd_soc_component_update_bits on wm8994-codec"
This is pretty much a cosmetic change - previously we were silently not reading the register, this just removes the attempt to read it since we added an error message in the core.
On Mon, Sep 21, 2020 at 04:07:01PM +0100, Mark Brown wrote:
On Mon, Sep 21, 2020 at 10:40:10AM -0400, Sasha Levin wrote:
The WM8994_MICBIAS register is not available in the WM1811 CODEC so skip initialization of that register for that device. This suppresses an error during boot: "wm8994-codec: ASoC: error at snd_soc_component_update_bits on wm8994-codec"
This is pretty much a cosmetic change - previously we were silently not reading the register, this just removes the attempt to read it since we added an error message in the core.
Right, the only reason I took it is that error message - I find that bogus error messages have almost the same (bad) impact as real kernel bugs.
I can drop it if you'd prefer.
On Tue, Sep 22, 2020 at 10:25:15AM -0400, Sasha Levin wrote:
On Mon, Sep 21, 2020 at 04:07:01PM +0100, Mark Brown wrote:
This is pretty much a cosmetic change - previously we were silently not reading the register, this just removes the attempt to read it since we added an error message in the core.
Right, the only reason I took it is that error message - I find that bogus error messages have almost the same (bad) impact as real kernel bugs.
The point is that the error message isn't present in stable kernels so there is no impact on any user visible behaviour.
On Tue, Sep 22, 2020 at 03:42:21PM +0100, Mark Brown wrote:
On Tue, Sep 22, 2020 at 10:25:15AM -0400, Sasha Levin wrote:
On Mon, Sep 21, 2020 at 04:07:01PM +0100, Mark Brown wrote:
This is pretty much a cosmetic change - previously we were silently not reading the register, this just removes the attempt to read it since we added an error message in the core.
Right, the only reason I took it is that error message - I find that bogus error messages have almost the same (bad) impact as real kernel bugs.
The point is that the error message isn't present in stable kernels so there is no impact on any user visible behaviour.
Ah, I see. I'll drop it. Thanks!
participants (2)
-
Mark Brown
-
Sasha Levin