Merge remote-tracking branch 'asoc/topic/rt5645' into asoc-next
This commit is contained in:
@@ -654,10 +654,12 @@ int snd_soc_suspend(struct device *dev)
|
||||
|
||||
/* suspend all CODECs */
|
||||
list_for_each_entry(codec, &card->codec_dev_list, card_list) {
|
||||
struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec);
|
||||
|
||||
/* If there are paths active then the CODEC will be held with
|
||||
* bias _ON and should not be suspended. */
|
||||
if (!codec->suspended) {
|
||||
switch (codec->dapm.bias_level) {
|
||||
switch (snd_soc_dapm_get_bias_level(dapm)) {
|
||||
case SND_SOC_BIAS_STANDBY:
|
||||
/*
|
||||
* If the CODEC is capable of idle
|
||||
@@ -665,7 +667,7 @@ int snd_soc_suspend(struct device *dev)
|
||||
* means it's doing something,
|
||||
* otherwise fall through.
|
||||
*/
|
||||
if (codec->dapm.idle_bias_off) {
|
||||
if (dapm->idle_bias_off) {
|
||||
dev_dbg(codec->dev,
|
||||
"ASoC: idle_bias_off CODEC on over suspend\n");
|
||||
break;
|
||||
@@ -2662,10 +2664,7 @@ static int snd_soc_component_initialize(struct snd_soc_component *component,
|
||||
component->probe = component->driver->probe;
|
||||
component->remove = component->driver->remove;
|
||||
|
||||
if (!component->dapm_ptr)
|
||||
component->dapm_ptr = &component->dapm;
|
||||
|
||||
dapm = component->dapm_ptr;
|
||||
dapm = &component->dapm;
|
||||
dapm->dev = dev;
|
||||
dapm->component = component;
|
||||
dapm->bias_level = SND_SOC_BIAS_OFF;
|
||||
@@ -3047,6 +3046,7 @@ int snd_soc_register_codec(struct device *dev,
|
||||
struct snd_soc_dai_driver *dai_drv,
|
||||
int num_dai)
|
||||
{
|
||||
struct snd_soc_dapm_context *dapm;
|
||||
struct snd_soc_codec *codec;
|
||||
struct snd_soc_dai *dai;
|
||||
int ret, i;
|
||||
@@ -3057,7 +3057,6 @@ int snd_soc_register_codec(struct device *dev,
|
||||
if (codec == NULL)
|
||||
return -ENOMEM;
|
||||
|
||||
codec->component.dapm_ptr = &codec->dapm;
|
||||
codec->component.codec = codec;
|
||||
|
||||
ret = snd_soc_component_initialize(&codec->component,
|
||||
@@ -3087,12 +3086,14 @@ int snd_soc_register_codec(struct device *dev,
|
||||
if (codec_drv->read)
|
||||
codec->component.read = snd_soc_codec_drv_read;
|
||||
codec->component.ignore_pmdown_time = codec_drv->ignore_pmdown_time;
|
||||
codec->dapm.idle_bias_off = codec_drv->idle_bias_off;
|
||||
codec->dapm.suspend_bias_off = codec_drv->suspend_bias_off;
|
||||
|
||||
dapm = snd_soc_codec_get_dapm(codec);
|
||||
dapm->idle_bias_off = codec_drv->idle_bias_off;
|
||||
dapm->suspend_bias_off = codec_drv->suspend_bias_off;
|
||||
if (codec_drv->seq_notifier)
|
||||
codec->dapm.seq_notifier = codec_drv->seq_notifier;
|
||||
dapm->seq_notifier = codec_drv->seq_notifier;
|
||||
if (codec_drv->set_bias_level)
|
||||
codec->dapm.set_bias_level = snd_soc_codec_set_bias_level;
|
||||
dapm->set_bias_level = snd_soc_codec_set_bias_level;
|
||||
codec->dev = dev;
|
||||
codec->driver = codec_drv;
|
||||
codec->component.val_bytes = codec_drv->reg_word_size;
|
||||
|
Reference in New Issue
Block a user