aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm8994.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2011-03-11 13:09:04 -0500
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-03-22 14:41:20 -0400
commitfbbf592002ee46ed14d5bd88f1150c604b34e705 (patch)
treeb4fe275ab768a411c2ca85fa925c40d813d5df19 /sound/soc/codecs/wm8994.c
parentaf9af866020ea341aca32123b3109b6a9408dd8c (diff)
ASoC: Support download of WM8958 MBC firmware
Allow userspace to supply an update to the ROM firmware. The firmware request is non-blocking so userspace can load the firmware at its leisure without delaying startup, the driver will begin using the firmware the next time MBC is started after it has been supplied. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
Diffstat (limited to 'sound/soc/codecs/wm8994.c')
-rw-r--r--sound/soc/codecs/wm8994.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c
index bdd1ac75178a..f622ff691b41 100644
--- a/sound/soc/codecs/wm8994.c
+++ b/sound/soc/codecs/wm8994.c
@@ -1922,6 +1922,8 @@ static int wm8994_set_bias_level(struct snd_soc_codec *codec,
1922 WM8994_VMID_BUF_ENA | 1922 WM8994_VMID_BUF_ENA |
1923 WM8994_VMID_RAMP_MASK, 0); 1923 WM8994_VMID_RAMP_MASK, 0);
1924 1924
1925 wm8994->cur_fw = NULL;
1926
1925 pm_runtime_put(codec->dev); 1927 pm_runtime_put(codec->dev);
1926 } 1928 }
1927 break; 1929 break;
@@ -3136,6 +3138,8 @@ static int wm8994_codec_remove(struct snd_soc_codec *codec)
3136 free_irq(wm8994->micdet_irq, wm8994); 3138 free_irq(wm8994->micdet_irq, wm8994);
3137 break; 3139 break;
3138 } 3140 }
3141 if (wm8994->mbc)
3142 release_firmware(wm8994->mbc);
3139 kfree(wm8994->retune_mobile_texts); 3143 kfree(wm8994->retune_mobile_texts);
3140 kfree(wm8994->drc_texts); 3144 kfree(wm8994->drc_texts);
3141 kfree(wm8994); 3145 kfree(wm8994);