diff options
-rw-r--r-- | include/sound/soc.h | 4 | ||||
-rw-r--r-- | sound/soc/soc-core.c | 10 |
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) |