diff options
author | Robert Jarzmik <robert.jarzmik@free.fr> | 2017-10-14 22:14:02 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2017-10-18 11:25:15 +0100 |
commit | 6bd25aae3a9bc7ed3d24f2b3d4cd711fadc5d32e (patch) | |
tree | 2e3bbf5b4fee4e792b9a659cea2d10e7480ce668 /sound/soc | |
parent | 5aa3b03ad0712e3964a0ae2788f61f08da814bfe (diff) | |
download | linux-stable-6bd25aae3a9bc7ed3d24f2b3d4cd711fadc5d32e.tar.gz linux-stable-6bd25aae3a9bc7ed3d24f2b3d4cd711fadc5d32e.tar.bz2 linux-stable-6bd25aae3a9bc7ed3d24f2b3d4cd711fadc5d32e.zip |
ASoC: wm97xx: fix compilation corner case
When the old AC97 is not used, CONFIG_SND_SOC_AC97_BUS is not
defined. As a consequence, in the error path, snd_soc_free_ac97_codec()
is not defined and triggers a compilation error.
Fix it for wm9705 and wm9712, as wm9713 is correctly written.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc')
-rw-r--r-- | sound/soc/codecs/wm9705.c | 8 | ||||
-rw-r--r-- | sound/soc/codecs/wm9712.c | 7 |
2 files changed, 4 insertions, 11 deletions
diff --git a/sound/soc/codecs/wm9705.c b/sound/soc/codecs/wm9705.c index 68c204e3599f..2c09f71fe433 100644 --- a/sound/soc/codecs/wm9705.c +++ b/sound/soc/codecs/wm9705.c @@ -321,7 +321,6 @@ static int wm9705_soc_probe(struct snd_soc_codec *codec) { struct wm9705_priv *wm9705 = snd_soc_codec_get_drvdata(codec); struct regmap *regmap; - int ret; if (wm9705->mfd_pdata) { wm9705->ac97 = wm9705->mfd_pdata->ac97; @@ -337,8 +336,8 @@ static int wm9705_soc_probe(struct snd_soc_codec *codec) regmap = regmap_init_ac97(wm9705->ac97, &wm9705_regmap_config); if (IS_ERR(regmap)) { - ret = PTR_ERR(regmap); - goto err_free_ac97_codec; + snd_soc_free_ac97_codec(wm9705->ac97); + return PTR_ERR(regmap); } #endif } @@ -347,9 +346,6 @@ static int wm9705_soc_probe(struct snd_soc_codec *codec) snd_soc_codec_init_regmap(codec, regmap); return 0; -err_free_ac97_codec: - snd_soc_free_ac97_codec(wm9705->ac97); - return ret; } static int wm9705_soc_remove(struct snd_soc_codec *codec) diff --git a/sound/soc/codecs/wm9712.c b/sound/soc/codecs/wm9712.c index 9db5c7783de5..4f6d1a442bc4 100644 --- a/sound/soc/codecs/wm9712.c +++ b/sound/soc/codecs/wm9712.c @@ -656,8 +656,8 @@ static int wm9712_soc_probe(struct snd_soc_codec *codec) regmap = regmap_init_ac97(wm9712->ac97, &wm9712_regmap_config); if (IS_ERR(regmap)) { - ret = PTR_ERR(regmap); - goto err_free_ac97_codec; + snd_soc_free_ac97_codec(wm9712->ac97); + return PTR_ERR(regmap); } #endif } @@ -668,9 +668,6 @@ static int wm9712_soc_probe(struct snd_soc_codec *codec) snd_soc_update_bits(codec, AC97_VIDEO, 0x3000, 0x3000); return 0; -err_free_ac97_codec: - snd_soc_free_ac97_codec(wm9712->ac97); - return ret; } static int wm9712_soc_remove(struct snd_soc_codec *codec) |