Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 157504
b: refs/heads/master
c: 291f3bb
h: refs/heads/master
v: v3
  • Loading branch information
Mark Brown committed Jun 8, 2009
1 parent 33f7a13 commit d293206
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 14 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 4f1c1923851f9734c972812121e80a3b04ab3af4
refs/heads/master: 291f3bbcacf278726911c713e14cedb71c486b16
2 changes: 0 additions & 2 deletions trunk/include/sound/soc.h
Original file line number Diff line number Diff line change
Expand Up @@ -369,8 +369,6 @@ struct snd_soc_codec {
enum snd_soc_bias_level bias_level;
enum snd_soc_bias_level suspend_bias_level;
struct delayed_work delayed_work;
struct list_head up_list;
struct list_head down_list;

/* codec DAI's */
struct snd_soc_dai *dai;
Expand Down
19 changes: 8 additions & 11 deletions trunk/sound/soc/soc-dapm.c
Original file line number Diff line number Diff line change
Expand Up @@ -927,23 +927,22 @@ static int dapm_power_widgets(struct snd_soc_codec *codec, int event)
{
struct snd_soc_device *socdev = codec->socdev;
struct snd_soc_dapm_widget *w;
LIST_HEAD(up_list);
LIST_HEAD(down_list);
int ret = 0;
int power;
int sys_power = 0;

INIT_LIST_HEAD(&codec->up_list);
INIT_LIST_HEAD(&codec->down_list);

/* Check which widgets we need to power and store them in
* lists indicating if they should be powered up or down.
*/
list_for_each_entry(w, &codec->dapm_widgets, list) {
switch (w->id) {
case snd_soc_dapm_pre:
dapm_seq_insert(w, &codec->down_list, dapm_down_seq);
dapm_seq_insert(w, &down_list, dapm_down_seq);
break;
case snd_soc_dapm_post:
dapm_seq_insert(w, &codec->up_list, dapm_up_seq);
dapm_seq_insert(w, &up_list, dapm_up_seq);
break;

default:
Expand All @@ -958,11 +957,9 @@ static int dapm_power_widgets(struct snd_soc_codec *codec, int event)
continue;

if (power)
dapm_seq_insert(w, &codec->up_list,
dapm_up_seq);
dapm_seq_insert(w, &up_list, dapm_up_seq);
else
dapm_seq_insert(w, &codec->down_list,
dapm_down_seq);
dapm_seq_insert(w, &down_list, dapm_down_seq);

w->power = power;
break;
Expand All @@ -979,10 +976,10 @@ static int dapm_power_widgets(struct snd_soc_codec *codec, int event)
}

/* Power down widgets first; try to avoid amplifying pops. */
dapm_seq_run(codec, &codec->down_list, event, dapm_down_seq);
dapm_seq_run(codec, &down_list, event, dapm_down_seq);

/* Now power up. */
dapm_seq_run(codec, &codec->up_list, event, dapm_up_seq);
dapm_seq_run(codec, &up_list, event, dapm_up_seq);

/* If we just powered the last thing off drop to standby bias */
if (codec->bias_level == SND_SOC_BIAS_PREPARE && !sys_power) {
Expand Down

0 comments on commit d293206

Please sign in to comment.