aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/sound/soc.h4
-rw-r--r--sound/soc/soc-core.c10
2 files changed, 0 insertions, 14 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h
index ad47e9660b22..edbb07ba4cb5 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -857,8 +857,6 @@ struct snd_soc_platform_driver {
857 857
858 int (*probe)(struct snd_soc_platform *); 858 int (*probe)(struct snd_soc_platform *);
859 int (*remove)(struct snd_soc_platform *); 859 int (*remove)(struct snd_soc_platform *);
860 int (*suspend)(struct snd_soc_dai *dai);
861 int (*resume)(struct snd_soc_dai *dai);
862 struct snd_soc_component_driver component_driver; 860 struct snd_soc_component_driver component_driver;
863 861
864 /* pcm creation and destruction */ 862 /* pcm creation and destruction */
@@ -891,8 +889,6 @@ struct snd_soc_platform {
891 struct device *dev; 889 struct device *dev;
892 const struct snd_soc_platform_driver *driver; 890 const struct snd_soc_platform_driver *driver;
893 891
894 unsigned int suspended:1; /* platform is suspended */
895
896 struct list_head list; 892 struct list_head list;
897 893
898 struct snd_soc_component component; 894 struct snd_soc_component component;
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index a2b51edf6d83..0509d726759d 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -592,17 +592,12 @@ int snd_soc_suspend(struct device *dev)
592 592
593 for (i = 0; i < card->num_rtd; i++) { 593 for (i = 0; i < card->num_rtd; i++) {
594 struct snd_soc_dai *cpu_dai = card->rtd[i].cpu_dai; 594 struct snd_soc_dai *cpu_dai = card->rtd[i].cpu_dai;
595 struct snd_soc_platform *platform = card->rtd[i].platform;
596 595
597 if (card->rtd[i].dai_link->ignore_suspend) 596 if (card->rtd[i].dai_link->ignore_suspend)
598 continue; 597 continue;
599 598
600 if (cpu_dai->driver->suspend && !cpu_dai->driver->ac97_control) 599 if (cpu_dai->driver->suspend && !cpu_dai->driver->ac97_control)
601 cpu_dai->driver->suspend(cpu_dai); 600 cpu_dai->driver->suspend(cpu_dai);
602 if (platform->driver->suspend && !platform->suspended) {
603 platform->driver->suspend(cpu_dai);
604 platform->suspended = 1;
605 }
606 } 601 }
607 602
608 /* close any waiting streams and save state */ 603 /* close any waiting streams and save state */
@@ -775,17 +770,12 @@ static void soc_resume_deferred(struct work_struct *work)
775 770
776 for (i = 0; i < card->num_rtd; i++) { 771 for (i = 0; i < card->num_rtd; i++) {
777 struct snd_soc_dai *cpu_dai = card->rtd[i].cpu_dai; 772 struct snd_soc_dai *cpu_dai = card->rtd[i].cpu_dai;
778 struct snd_soc_platform *platform = card->rtd[i].platform;
779 773
780 if (card->rtd[i].dai_link->ignore_suspend) 774 if (card->rtd[i].dai_link->ignore_suspend)
781 continue; 775 continue;
782 776
783 if (cpu_dai->driver->resume && !cpu_dai->driver->ac97_control) 777 if (cpu_dai->driver->resume && !cpu_dai->driver->ac97_control)
784 cpu_dai->driver->resume(cpu_dai); 778 cpu_dai->driver->resume(cpu_dai);
785 if (platform->driver->resume && platform->suspended) {
786 platform->driver->resume(cpu_dai);
787 platform->suspended = 0;
788 }
789 } 779 }
790 780
791 if (card->resume_post) 781 if (card->resume_post)