aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2013-07-01 15:46:34 -0400
committerMark Brown <broonie@linaro.org>2013-07-15 06:12:57 -0400
commit57e265c8d71fb94c130bfb31f589cc9e97fb3928 (patch)
treed05e19ca43294acf35bd612ad068dbf8d7979976 /sound/soc/codecs
parentad81f0545ef01ea651886dddac4bef6cec930092 (diff)
ASoC: wm8994: Move runtime PM init to platform device init
As well as being better style this allows the device to idle when there is no audio card instantaited which is probably what we want. Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound/soc/codecs')
-rw-r--r--sound/soc/codecs/wm8994.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c
index 1d4b1ec66e36..02c320f71cdf 100644
--- a/sound/soc/codecs/wm8994.c
+++ b/sound/soc/codecs/wm8994.c
@@ -4014,9 +4014,6 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec)
4014 4014
4015 wm8994->micdet_irq = control->pdata.micdet_irq; 4015 wm8994->micdet_irq = control->pdata.micdet_irq;
4016 4016
4017 pm_runtime_enable(codec->dev);
4018 pm_runtime_idle(codec->dev);
4019
4020 /* By default use idle_bias_off, will override for WM8994 */ 4017 /* By default use idle_bias_off, will override for WM8994 */
4021 codec->dapm.idle_bias_off = 1; 4018 codec->dapm.idle_bias_off = 1;
4022 4019
@@ -4389,8 +4386,6 @@ static int wm8994_codec_remove(struct snd_soc_codec *codec)
4389 4386
4390 wm8994_set_bias_level(codec, SND_SOC_BIAS_OFF); 4387 wm8994_set_bias_level(codec, SND_SOC_BIAS_OFF);
4391 4388
4392 pm_runtime_disable(codec->dev);
4393
4394 for (i = 0; i < ARRAY_SIZE(wm8994->fll_locked); i++) 4389 for (i = 0; i < ARRAY_SIZE(wm8994->fll_locked); i++)
4395 wm8994_free_irq(wm8994->wm8994, WM8994_IRQ_FLL1_LOCK + i, 4390 wm8994_free_irq(wm8994->wm8994, WM8994_IRQ_FLL1_LOCK + i,
4396 &wm8994->fll_locked[i]); 4391 &wm8994->fll_locked[i]);
@@ -4449,6 +4444,9 @@ static int wm8994_probe(struct platform_device *pdev)
4449 4444
4450 wm8994->wm8994 = dev_get_drvdata(pdev->dev.parent); 4445 wm8994->wm8994 = dev_get_drvdata(pdev->dev.parent);
4451 4446
4447 pm_runtime_enable(&pdev->dev);
4448 pm_runtime_idle(&pdev->dev);
4449
4452 return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_wm8994, 4450 return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_wm8994,
4453 wm8994_dai, ARRAY_SIZE(wm8994_dai)); 4451 wm8994_dai, ARRAY_SIZE(wm8994_dai));
4454} 4452}
@@ -4456,6 +4454,8 @@ static int wm8994_probe(struct platform_device *pdev)
4456static int wm8994_remove(struct platform_device *pdev) 4454static int wm8994_remove(struct platform_device *pdev)
4457{ 4455{
4458 snd_soc_unregister_codec(&pdev->dev); 4456 snd_soc_unregister_codec(&pdev->dev);
4457 pm_runtime_disable(&pdev->dev);
4458
4459 return 0; 4459 return 0;
4460} 4460}
4461 4461