Skip to content

Commit 10867b3

Browse files
charleskeepaxbroonie
authored andcommitted
ASoC: wm5102: Revert manual speaker enable
The OUT4L and OUT4R widgets are not registered PRE_PMU or POST_PMD events, as such the manual speaker enable on wm5102 does not actually ever run. Furthermore since the issue actually only affected rev B of the silicon which never shipped in volume, simply remove the work around from the code. Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Mark Brown <[email protected]>
1 parent a3178a3 commit 10867b3

File tree

2 files changed

+0
-45
lines changed

2 files changed

+0
-45
lines changed

sound/soc/codecs/arizona.c

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -85,30 +85,9 @@ static int arizona_spk_ev(struct snd_soc_dapm_widget *w,
8585
{
8686
struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm);
8787
struct arizona *arizona = dev_get_drvdata(codec->dev->parent);
88-
struct arizona_priv *priv = snd_soc_codec_get_drvdata(codec);
89-
bool manual_ena = false;
9088
int val;
9189

92-
switch (arizona->type) {
93-
case WM5102:
94-
switch (arizona->rev) {
95-
case 0:
96-
break;
97-
default:
98-
manual_ena = true;
99-
break;
100-
}
101-
default:
102-
break;
103-
}
104-
10590
switch (event) {
106-
case SND_SOC_DAPM_PRE_PMU:
107-
if (!priv->spk_ena && manual_ena) {
108-
regmap_write_async(arizona->regmap, 0x4f5, 0x25a);
109-
priv->spk_ena_pending = true;
110-
}
111-
break;
11291
case SND_SOC_DAPM_POST_PMU:
11392
val = snd_soc_read(codec, ARIZONA_INTERRUPT_RAW_STATUS_3);
11493
if (val & ARIZONA_SPK_OVERHEAT_STS) {
@@ -120,33 +99,12 @@ static int arizona_spk_ev(struct snd_soc_dapm_widget *w,
12099
regmap_update_bits_async(arizona->regmap,
121100
ARIZONA_OUTPUT_ENABLES_1,
122101
1 << w->shift, 1 << w->shift);
123-
124-
if (priv->spk_ena_pending) {
125-
msleep(75);
126-
regmap_write_async(arizona->regmap, 0x4f5, 0xda);
127-
priv->spk_ena_pending = false;
128-
priv->spk_ena++;
129-
}
130102
break;
131103
case SND_SOC_DAPM_PRE_PMD:
132-
if (manual_ena) {
133-
priv->spk_ena--;
134-
if (!priv->spk_ena)
135-
regmap_write_async(arizona->regmap,
136-
0x4f5, 0x25a);
137-
}
138-
139104
regmap_update_bits_async(arizona->regmap,
140105
ARIZONA_OUTPUT_ENABLES_1,
141106
1 << w->shift, 0);
142107
break;
143-
case SND_SOC_DAPM_POST_PMD:
144-
if (manual_ena) {
145-
if (!priv->spk_ena)
146-
regmap_write_async(arizona->regmap,
147-
0x4f5, 0x0da);
148-
}
149-
break;
150108
default:
151109
break;
152110
}

sound/soc/codecs/arizona.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,6 @@ struct arizona_priv {
8787
unsigned int out_down_pending;
8888
unsigned int out_down_delay;
8989

90-
unsigned int spk_ena:2;
91-
unsigned int spk_ena_pending:1;
92-
9390
unsigned int dvfs_reqs;
9491
struct mutex dvfs_lock;
9592
bool dvfs_cached;

0 commit comments

Comments
 (0)