diff options
Diffstat (limited to 'sound/soc/omap/omap-mcpdm.c')
-rw-r--r-- | sound/soc/omap/omap-mcpdm.c | 19 |
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 | ||
370 | static struct snd_soc_dai_ops omap_mcpdm_dai_ops = { | 365 | static 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 | ||
523 | static int __init snd_omap_mcpdm_init(void) | 518 | module_platform_driver(asoc_mcpdm_driver); |
524 | { | ||
525 | return platform_driver_register(&asoc_mcpdm_driver); | ||
526 | } | ||
527 | module_init(snd_omap_mcpdm_init); | ||
528 | |||
529 | static void __exit snd_omap_mcpdm_exit(void) | ||
530 | { | ||
531 | platform_driver_unregister(&asoc_mcpdm_driver); | ||
532 | } | ||
533 | module_exit(snd_omap_mcpdm_exit); | ||
534 | 519 | ||
535 | MODULE_AUTHOR("Misael Lopez Cruz <misael.lopez@ti.com>"); | 520 | MODULE_AUTHOR("Misael Lopez Cruz <misael.lopez@ti.com>"); |
536 | MODULE_DESCRIPTION("OMAP PDM SoC Interface"); | 521 | MODULE_DESCRIPTION("OMAP PDM SoC Interface"); |