aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/omap/omap-mcpdm.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/omap/omap-mcpdm.c')
-rw-r--r--sound/soc/omap/omap-mcpdm.c19
1 files changed, 2 insertions, 17 deletions
diff --git a/sound/soc/omap/omap-mcpdm.c b/sound/soc/omap/omap-mcpdm.c
index 41d17067cc73..0e25df4fa9e5 100644
--- a/sound/soc/omap/omap-mcpdm.c
+++ b/sound/soc/omap/omap-mcpdm.c
@@ -266,8 +266,6 @@ static int omap_mcpdm_dai_startup(struct snd_pcm_substream *substream,
266 mutex_lock(&mcpdm->mutex); 266 mutex_lock(&mcpdm->mutex);
267 267
268 if (!dai->active) { 268 if (!dai->active) {
269 pm_runtime_get_sync(mcpdm->dev);
270
271 /* Enable watch dog for ES above ES 1.0 to avoid saturation */ 269 /* Enable watch dog for ES above ES 1.0 to avoid saturation */
272 if (omap_rev() != OMAP4430_REV_ES1_0) { 270 if (omap_rev() != OMAP4430_REV_ES1_0) {
273 u32 ctrl = omap_mcpdm_read(mcpdm, MCPDM_REG_CTRL); 271 u32 ctrl = omap_mcpdm_read(mcpdm, MCPDM_REG_CTRL);
@@ -295,9 +293,6 @@ static void omap_mcpdm_dai_shutdown(struct snd_pcm_substream *substream,
295 omap_mcpdm_stop(mcpdm); 293 omap_mcpdm_stop(mcpdm);
296 omap_mcpdm_close_streams(mcpdm); 294 omap_mcpdm_close_streams(mcpdm);
297 } 295 }
298
299 if (!omap_mcpdm_active(mcpdm))
300 pm_runtime_put_sync(mcpdm->dev);
301 } 296 }
302 297
303 mutex_unlock(&mcpdm->mutex); 298 mutex_unlock(&mcpdm->mutex);
@@ -367,7 +362,7 @@ static int omap_mcpdm_prepare(struct snd_pcm_substream *substream,
367 return 0; 362 return 0;
368} 363}
369 364
370static struct snd_soc_dai_ops omap_mcpdm_dai_ops = { 365static const struct snd_soc_dai_ops omap_mcpdm_dai_ops = {
371 .startup = omap_mcpdm_dai_startup, 366 .startup = omap_mcpdm_dai_startup,
372 .shutdown = omap_mcpdm_dai_shutdown, 367 .shutdown = omap_mcpdm_dai_shutdown,
373 .hw_params = omap_mcpdm_dai_hw_params, 368 .hw_params = omap_mcpdm_dai_hw_params,
@@ -520,17 +515,7 @@ static struct platform_driver asoc_mcpdm_driver = {
520 .remove = __devexit_p(asoc_mcpdm_remove), 515 .remove = __devexit_p(asoc_mcpdm_remove),
521}; 516};
522 517
523static int __init snd_omap_mcpdm_init(void) 518module_platform_driver(asoc_mcpdm_driver);
524{
525 return platform_driver_register(&asoc_mcpdm_driver);
526}
527module_init(snd_omap_mcpdm_init);
528
529static void __exit snd_omap_mcpdm_exit(void)
530{
531 platform_driver_unregister(&asoc_mcpdm_driver);
532}
533module_exit(snd_omap_mcpdm_exit);
534 519
535MODULE_AUTHOR("Misael Lopez Cruz <misael.lopez@ti.com>"); 520MODULE_AUTHOR("Misael Lopez Cruz <misael.lopez@ti.com>");
536MODULE_DESCRIPTION("OMAP PDM SoC Interface"); 521MODULE_DESCRIPTION("OMAP PDM SoC Interface");