aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2020-05-28 10:48:39 +0900
committerMark Brown <broonie@kernel.org>2020-05-30 02:11:32 +0100
commit130dc08c827db76f4a32fe7867075029fe9071d1 (patch)
tree35786d9d9eeb5c0256447cd8a37c4b6ccd00b55f
parentASoC: soc-card: move snd_soc_card_subclass to soc-card (diff)
downloadlinux-dev-130dc08c827db76f4a32fe7867075029fe9071d1.tar.xz
linux-dev-130dc08c827db76f4a32fe7867075029fe9071d1.zip
ASoC: soc-card: add snd_soc_card_suspend_pre()
Card related function should be implemented at soc-card now. This patch adds it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/87367k25jc.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--include/sound/soc-card.h2
-rw-r--r--sound/soc/soc-card.c10
-rw-r--r--sound/soc/soc-core.c3
3 files changed, 13 insertions, 2 deletions
diff --git a/include/sound/soc-card.h b/include/sound/soc-card.h
index 41bafb59eb3c..58b6958c0f8b 100644
--- a/include/sound/soc-card.h
+++ b/include/sound/soc-card.h
@@ -19,6 +19,8 @@ int snd_soc_card_jack_new(struct snd_soc_card *card, const char *id, int type,
struct snd_soc_jack *jack,
struct snd_soc_jack_pin *pins, unsigned int num_pins);
+int snd_soc_card_suspend_pre(struct snd_soc_card *card);
+
/* device driver data */
static inline void snd_soc_card_set_drvdata(struct snd_soc_card *card,
void *data)
diff --git a/sound/soc/soc-card.c b/sound/soc/soc-card.c
index aa9dbb89f8a1..710684c030bc 100644
--- a/sound/soc/soc-card.c
+++ b/sound/soc/soc-card.c
@@ -79,3 +79,13 @@ end:
return soc_card_ret(card, ret);
}
EXPORT_SYMBOL_GPL(snd_soc_card_jack_new);
+
+int snd_soc_card_suspend_pre(struct snd_soc_card *card)
+{
+ int ret = 0;
+
+ if (card->suspend_pre)
+ ret = card->suspend_pre(card);
+
+ return soc_card_ret(card, ret);
+}
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index b6105b92f589..52d09fa495c3 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -561,8 +561,7 @@ int snd_soc_suspend(struct device *dev)
snd_pcm_suspend_all(rtd->pcm);
}
- if (card->suspend_pre)
- card->suspend_pre(card);
+ snd_soc_card_suspend_pre(card);
/* close any waiting streams */
snd_soc_flush_all_delayed_work(card);