aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm8985.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/codecs/wm8985.c')
-rw-r--r--sound/soc/codecs/wm8985.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/sound/soc/codecs/wm8985.c b/sound/soc/codecs/wm8985.c
index 5473dc969585..0f5780c09f3a 100644
--- a/sound/soc/codecs/wm8985.c
+++ b/sound/soc/codecs/wm8985.c
@@ -526,7 +526,7 @@ static const struct snd_soc_dapm_route wm8985_dapm_routes[] = {
526static int eqmode_get(struct snd_kcontrol *kcontrol, 526static int eqmode_get(struct snd_kcontrol *kcontrol,
527 struct snd_ctl_elem_value *ucontrol) 527 struct snd_ctl_elem_value *ucontrol)
528{ 528{
529 struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); 529 struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
530 unsigned int reg; 530 unsigned int reg;
531 531
532 reg = snd_soc_read(codec, WM8985_EQ1_LOW_SHELF); 532 reg = snd_soc_read(codec, WM8985_EQ1_LOW_SHELF);
@@ -541,7 +541,7 @@ static int eqmode_get(struct snd_kcontrol *kcontrol,
541static int eqmode_put(struct snd_kcontrol *kcontrol, 541static int eqmode_put(struct snd_kcontrol *kcontrol,
542 struct snd_ctl_elem_value *ucontrol) 542 struct snd_ctl_elem_value *ucontrol)
543{ 543{
544 struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); 544 struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
545 unsigned int regpwr2, regpwr3; 545 unsigned int regpwr2, regpwr3;
546 unsigned int reg_eq; 546 unsigned int reg_eq;
547 547
@@ -984,7 +984,6 @@ static int wm8985_remove(struct snd_soc_codec *codec)
984 984
985 wm8985 = snd_soc_codec_get_drvdata(codec); 985 wm8985 = snd_soc_codec_get_drvdata(codec);
986 wm8985_set_bias_level(codec, SND_SOC_BIAS_OFF); 986 wm8985_set_bias_level(codec, SND_SOC_BIAS_OFF);
987 regulator_bulk_free(ARRAY_SIZE(wm8985->supplies), wm8985->supplies);
988 return 0; 987 return 0;
989} 988}
990 989
@@ -999,7 +998,7 @@ static int wm8985_probe(struct snd_soc_codec *codec)
999 for (i = 0; i < ARRAY_SIZE(wm8985->supplies); i++) 998 for (i = 0; i < ARRAY_SIZE(wm8985->supplies); i++)
1000 wm8985->supplies[i].supply = wm8985_supply_names[i]; 999 wm8985->supplies[i].supply = wm8985_supply_names[i];
1001 1000
1002 ret = regulator_bulk_get(codec->dev, ARRAY_SIZE(wm8985->supplies), 1001 ret = devm_regulator_bulk_get(codec->dev, ARRAY_SIZE(wm8985->supplies),
1003 wm8985->supplies); 1002 wm8985->supplies);
1004 if (ret) { 1003 if (ret) {
1005 dev_err(codec->dev, "Failed to request supplies: %d\n", ret); 1004 dev_err(codec->dev, "Failed to request supplies: %d\n", ret);
@@ -1010,7 +1009,7 @@ static int wm8985_probe(struct snd_soc_codec *codec)
1010 wm8985->supplies); 1009 wm8985->supplies);
1011 if (ret) { 1010 if (ret) {
1012 dev_err(codec->dev, "Failed to enable supplies: %d\n", ret); 1011 dev_err(codec->dev, "Failed to enable supplies: %d\n", ret);
1013 goto err_reg_get; 1012 return ret;
1014 } 1013 }
1015 1014
1016 ret = wm8985_reset(codec); 1015 ret = wm8985_reset(codec);
@@ -1032,8 +1031,6 @@ static int wm8985_probe(struct snd_soc_codec *codec)
1032 1031
1033err_reg_enable: 1032err_reg_enable:
1034 regulator_bulk_disable(ARRAY_SIZE(wm8985->supplies), wm8985->supplies); 1033 regulator_bulk_disable(ARRAY_SIZE(wm8985->supplies), wm8985->supplies);
1035err_reg_get:
1036 regulator_bulk_free(ARRAY_SIZE(wm8985->supplies), wm8985->supplies);
1037 return ret; 1034 return ret;
1038} 1035}
1039 1036