Skip to content

Commit 1181754

Browse files
committed
ASoC: fix widget name comparisons (consider DAI name
Merge series from Krzysztof Kozlowski <[email protected]>: Some codec drivers compare widget names with strcmp, ignoring the component name prefix. If prefix is used, the comparisons start failing. Except Qualcomm lpass-rx-macro, none of the patches were tested on hardware.
2 parents 926f192 + f82eb06 commit 1181754

21 files changed

+53
-49
lines changed

sound/soc/codecs/88pm860x-codec.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -400,9 +400,9 @@ static int pm860x_dac_event(struct snd_soc_dapm_widget *w,
400400
unsigned int dac = 0;
401401
int data;
402402

403-
if (!strcmp(w->name, "Left DAC"))
403+
if (!snd_soc_dapm_widget_name_cmp(w, "Left DAC"))
404404
dac = DAC_LEFT;
405-
if (!strcmp(w->name, "Right DAC"))
405+
if (!snd_soc_dapm_widget_name_cmp(w, "Right DAC"))
406406
dac = DAC_RIGHT;
407407
switch (event) {
408408
case SND_SOC_DAPM_PRE_PMU:

sound/soc/codecs/adau1373.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -834,7 +834,7 @@ static int adau1373_check_aif_clk(struct snd_soc_dapm_widget *source,
834834
else
835835
clk = "SYSCLK2";
836836

837-
return strcmp(source->name, clk) == 0;
837+
return snd_soc_dapm_widget_name_cmp(source, clk) == 0;
838838
}
839839

840840
static int adau1373_check_src(struct snd_soc_dapm_widget *source,

sound/soc/codecs/adav80x.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ static int adav80x_dapm_sysclk_check(struct snd_soc_dapm_widget *source,
229229
return 0;
230230
}
231231

232-
return strcmp(source->name, clk) == 0;
232+
return snd_soc_dapm_widget_name_cmp(source, clk) == 0;
233233
}
234234

235235
static int adav80x_dapm_pll_check(struct snd_soc_dapm_widget *source,

sound/soc/codecs/lpass-rx-macro.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2906,14 +2906,14 @@ static int rx_macro_enable_echo(struct snd_soc_dapm_widget *w,
29062906

29072907
val = snd_soc_component_read(component,
29082908
CDC_RX_INP_MUX_RX_MIX_CFG4);
2909-
if (!(strcmp(w->name, "RX MIX TX0 MUX")))
2909+
if (!(snd_soc_dapm_widget_name_cmp(w, "RX MIX TX0 MUX")))
29102910
ec_tx = ((val & 0xf0) >> 0x4) - 1;
2911-
else if (!(strcmp(w->name, "RX MIX TX1 MUX")))
2911+
else if (!(snd_soc_dapm_widget_name_cmp(w, "RX MIX TX1 MUX")))
29122912
ec_tx = (val & 0x0f) - 1;
29132913

29142914
val = snd_soc_component_read(component,
29152915
CDC_RX_INP_MUX_RX_MIX_CFG5);
2916-
if (!(strcmp(w->name, "RX MIX TX2 MUX")))
2916+
if (!(snd_soc_dapm_widget_name_cmp(w, "RX MIX TX2 MUX")))
29172917
ec_tx = (val & 0x0f) - 1;
29182918

29192919
if (ec_tx < 0 || (ec_tx >= RX_MACRO_EC_MUX_MAX)) {

sound/soc/codecs/max9867.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,13 @@ static int max9867_adc_dac_event(struct snd_soc_dapm_widget *w,
5656
struct max9867_priv *max9867 = snd_soc_component_get_drvdata(component);
5757
enum max9867_adc_dac adc_dac;
5858

59-
if (!strcmp(w->name, "ADCL"))
59+
if (!snd_soc_dapm_widget_name_cmp(w, "ADCL"))
6060
adc_dac = MAX9867_ADC_LEFT;
61-
else if (!strcmp(w->name, "ADCR"))
61+
else if (!snd_soc_dapm_widget_name_cmp(w, "ADCR"))
6262
adc_dac = MAX9867_ADC_RIGHT;
63-
else if (!strcmp(w->name, "DACL"))
63+
else if (!snd_soc_dapm_widget_name_cmp(w, "DACL"))
6464
adc_dac = MAX9867_DAC_LEFT;
65-
else if (!strcmp(w->name, "DACR"))
65+
else if (!snd_soc_dapm_widget_name_cmp(w, "DACR"))
6666
adc_dac = MAX9867_DAC_RIGHT;
6767
else
6868
return 0;

sound/soc/codecs/rt5682s.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1323,9 +1323,9 @@ static int set_i2s_event(struct snd_soc_dapm_widget *w,
13231323
if (SND_SOC_DAPM_EVENT_ON(event))
13241324
on = 1;
13251325

1326-
if (!strcmp(w->name, "I2S1") && !rt5682s->wclk_enabled)
1326+
if (!snd_soc_dapm_widget_name_cmp(w, "I2S1") && !rt5682s->wclk_enabled)
13271327
rt5682s_set_i2s(rt5682s, RT5682S_AIF1, on);
1328-
else if (!strcmp(w->name, "I2S2"))
1328+
else if (!snd_soc_dapm_widget_name_cmp(w, "I2S2"))
13291329
rt5682s_set_i2s(rt5682s, RT5682S_AIF2, on);
13301330

13311331
return 0;

sound/soc/codecs/rtq9128.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -291,11 +291,11 @@ static int rtq9128_dac_power_event(struct snd_soc_dapm_widget *w, struct snd_kco
291291

292292
dev_dbg(comp->dev, "%s: %s event %d\n", __func__, w->name, event);
293293

294-
if (strcmp(w->name, "DAC1") == 0)
294+
if (snd_soc_dapm_widget_name_cmp(w, "DAC1") == 0)
295295
shift = 6;
296-
else if (strcmp(w->name, "DAC2") == 0)
296+
else if (snd_soc_dapm_widget_name_cmp(w, "DAC2") == 0)
297297
shift = 4;
298-
else if (strcmp(w->name, "DAC3") == 0)
298+
else if (snd_soc_dapm_widget_name_cmp(w, "DAC3") == 0)
299299
shift = 2;
300300
else
301301
shift = 0;

sound/soc/codecs/wcd9335.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3296,31 +3296,31 @@ static int wcd9335_codec_enable_interpolator(struct snd_soc_dapm_widget *w,
32963296
int val;
32973297
int offset_val = 0;
32983298

3299-
if (!(strcmp(w->name, "RX INT0 INTERP"))) {
3299+
if (!(snd_soc_dapm_widget_name_cmp(w, "RX INT0 INTERP"))) {
33003300
reg = WCD9335_CDC_RX0_RX_PATH_CTL;
33013301
gain_reg = WCD9335_CDC_RX0_RX_VOL_CTL;
3302-
} else if (!(strcmp(w->name, "RX INT1 INTERP"))) {
3302+
} else if (!(snd_soc_dapm_widget_name_cmp(w, "RX INT1 INTERP"))) {
33033303
reg = WCD9335_CDC_RX1_RX_PATH_CTL;
33043304
gain_reg = WCD9335_CDC_RX1_RX_VOL_CTL;
3305-
} else if (!(strcmp(w->name, "RX INT2 INTERP"))) {
3305+
} else if (!(snd_soc_dapm_widget_name_cmp(w, "RX INT2 INTERP"))) {
33063306
reg = WCD9335_CDC_RX2_RX_PATH_CTL;
33073307
gain_reg = WCD9335_CDC_RX2_RX_VOL_CTL;
3308-
} else if (!(strcmp(w->name, "RX INT3 INTERP"))) {
3308+
} else if (!(snd_soc_dapm_widget_name_cmp(w, "RX INT3 INTERP"))) {
33093309
reg = WCD9335_CDC_RX3_RX_PATH_CTL;
33103310
gain_reg = WCD9335_CDC_RX3_RX_VOL_CTL;
3311-
} else if (!(strcmp(w->name, "RX INT4 INTERP"))) {
3311+
} else if (!(snd_soc_dapm_widget_name_cmp(w, "RX INT4 INTERP"))) {
33123312
reg = WCD9335_CDC_RX4_RX_PATH_CTL;
33133313
gain_reg = WCD9335_CDC_RX4_RX_VOL_CTL;
3314-
} else if (!(strcmp(w->name, "RX INT5 INTERP"))) {
3314+
} else if (!(snd_soc_dapm_widget_name_cmp(w, "RX INT5 INTERP"))) {
33153315
reg = WCD9335_CDC_RX5_RX_PATH_CTL;
33163316
gain_reg = WCD9335_CDC_RX5_RX_VOL_CTL;
3317-
} else if (!(strcmp(w->name, "RX INT6 INTERP"))) {
3317+
} else if (!(snd_soc_dapm_widget_name_cmp(w, "RX INT6 INTERP"))) {
33183318
reg = WCD9335_CDC_RX6_RX_PATH_CTL;
33193319
gain_reg = WCD9335_CDC_RX6_RX_VOL_CTL;
3320-
} else if (!(strcmp(w->name, "RX INT7 INTERP"))) {
3320+
} else if (!(snd_soc_dapm_widget_name_cmp(w, "RX INT7 INTERP"))) {
33213321
reg = WCD9335_CDC_RX7_RX_PATH_CTL;
33223322
gain_reg = WCD9335_CDC_RX7_RX_VOL_CTL;
3323-
} else if (!(strcmp(w->name, "RX INT8 INTERP"))) {
3323+
} else if (!(snd_soc_dapm_widget_name_cmp(w, "RX INT8 INTERP"))) {
33243324
reg = WCD9335_CDC_RX8_RX_PATH_CTL;
33253325
gain_reg = WCD9335_CDC_RX8_RX_VOL_CTL;
33263326
} else {

sound/soc/codecs/wm8962.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1854,10 +1854,10 @@ static int tp_event(struct snd_soc_dapm_widget *w,
18541854

18551855
reg = WM8962_ADDITIONAL_CONTROL_4;
18561856

1857-
if (!strcmp(w->name, "TEMP_HP")) {
1857+
if (!snd_soc_dapm_widget_name_cmp(w, "TEMP_HP")) {
18581858
mask = WM8962_TEMP_ENA_HP_MASK;
18591859
val = WM8962_TEMP_ENA_HP;
1860-
} else if (!strcmp(w->name, "TEMP_SPK")) {
1860+
} else if (!snd_soc_dapm_widget_name_cmp(w, "TEMP_SPK")) {
18611861
mask = WM8962_TEMP_ENA_SPK_MASK;
18621862
val = WM8962_TEMP_ENA_SPK;
18631863
} else {

sound/soc/codecs/wm8994.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ static int check_clk_sys(struct snd_soc_dapm_widget *source,
262262
else
263263
clk = "AIF1CLK";
264264

265-
return strcmp(source->name, clk) == 0;
265+
return snd_soc_dapm_widget_name_cmp(source, clk) == 0;
266266
}
267267

268268
static const char *sidetone_hpf_text[] = {

0 commit comments

Comments
 (0)