[alsa-devel] [PATCH 1/2] ASoC: extend seq_notifier callback interface
yang.a.fang at intel.com
yang.a.fang at intel.com
Fri Aug 7 01:15:44 CEST 2015
From: "Fang, Yang A" <yang.a.fang at intel.com>
This is needed for some codec driver to know whether
it is power up/down sequence call from dapm
Signed-off-by: Fang, Yang A <yang.a.fang at intel.com>
---
include/sound/soc-dapm.h | 2 +-
include/sound/soc.h | 2 +-
sound/soc/codecs/wm5100.c | 2 +-
sound/soc/codecs/wm8903.c | 2 +-
sound/soc/codecs/wm8996.c | 2 +-
sound/soc/soc-dapm.c | 5 ++---
6 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/include/sound/soc-dapm.h b/include/sound/soc-dapm.h
index 37d95a8..1d017a3 100644
--- a/include/sound/soc-dapm.h
+++ b/include/sound/soc-dapm.h
@@ -607,7 +607,7 @@ struct snd_soc_dapm_context {
/* Go to BIAS_OFF in suspend if the DAPM context is idle */
unsigned int suspend_bias_off:1;
void (*seq_notifier)(struct snd_soc_dapm_context *,
- enum snd_soc_dapm_type, int);
+ enum snd_soc_dapm_type, int, bool);
struct device *dev; /* from parent - for debug */
struct snd_soc_component *component; /* parent component */
diff --git a/include/sound/soc.h b/include/sound/soc.h
index add5097..0072e21 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -875,7 +875,7 @@ struct snd_soc_codec_driver {
bool suspend_bias_off;
void (*seq_notifier)(struct snd_soc_dapm_context *,
- enum snd_soc_dapm_type, int);
+ enum snd_soc_dapm_type, int, bool);
bool ignore_pmdown_time; /* Doesn't benefit from pmdown delay */
};
diff --git a/sound/soc/codecs/wm5100.c b/sound/soc/codecs/wm5100.c
index 8120b0c..6f4e6c3 100644
--- a/sound/soc/codecs/wm5100.c
+++ b/sound/soc/codecs/wm5100.c
@@ -733,7 +733,7 @@ WM5100_MIXER_CONTROLS("LHPF4", WM5100_HPLP4MIX_INPUT_1_SOURCE),
};
static void wm5100_seq_notifier(struct snd_soc_dapm_context *dapm,
- enum snd_soc_dapm_type event, int subseq)
+ enum snd_soc_dapm_type event, int subseq, bool power_up)
{
struct snd_soc_codec *codec = snd_soc_dapm_to_codec(dapm);
struct wm5100_priv *wm5100 = snd_soc_codec_get_drvdata(codec);
diff --git a/sound/soc/codecs/wm8903.c b/sound/soc/codecs/wm8903.c
index b011253..12da3b1 100644
--- a/sound/soc/codecs/wm8903.c
+++ b/sound/soc/codecs/wm8903.c
@@ -280,7 +280,7 @@ static int wm8903_dcs_event(struct snd_soc_dapm_widget *w,
#define WM8903_DCS_MODE_START_STOP 2
static void wm8903_seq_notifier(struct snd_soc_dapm_context *dapm,
- enum snd_soc_dapm_type event, int subseq)
+ enum snd_soc_dapm_type event, int subseq, bool power_up)
{
struct snd_soc_codec *codec = snd_soc_dapm_to_codec(dapm);
struct wm8903_priv *wm8903 = snd_soc_codec_get_drvdata(codec);
diff --git a/sound/soc/codecs/wm8996.c b/sound/soc/codecs/wm8996.c
index 2a696db..f12a900 100644
--- a/sound/soc/codecs/wm8996.c
+++ b/sound/soc/codecs/wm8996.c
@@ -686,7 +686,7 @@ static void wait_for_dc_servo(struct snd_soc_codec *codec, u16 mask)
}
static void wm8996_seq_notifier(struct snd_soc_dapm_context *dapm,
- enum snd_soc_dapm_type event, int subseq)
+ enum snd_soc_dapm_type event, int subseq, bool power_up)
{
struct snd_soc_codec *codec = snd_soc_dapm_to_codec(dapm);
struct wm8996_priv *wm8996 = snd_soc_codec_get_drvdata(codec);
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index 1992568..ebea2d3 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -1528,8 +1528,7 @@ static void dapm_seq_run(struct snd_soc_card *card,
for (i = 0; i < ARRAY_SIZE(dapm_up_seq); i++)
if (sort[i] == cur_sort)
cur_dapm->seq_notifier(cur_dapm,
- i,
- cur_subseq);
+ i, cur_subseq, power_up);
}
if (cur_dapm && w->dapm != cur_dapm)
@@ -1591,7 +1590,7 @@ static void dapm_seq_run(struct snd_soc_card *card,
for (i = 0; i < ARRAY_SIZE(dapm_up_seq); i++)
if (sort[i] == cur_sort)
cur_dapm->seq_notifier(cur_dapm,
- i, cur_subseq);
+ i, cur_subseq, power_up);
}
list_for_each_entry(d, &card->dapm_list, list) {
--
1.7.9.5
More information about the Alsa-devel
mailing list