summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/sound/soc-dapm.h1
-rw-r--r--sound/soc/soc-dapm.c6
2 files changed, 4 insertions, 3 deletions
diff --git a/include/sound/soc-dapm.h b/include/sound/soc-dapm.h
index c6470d391eef..498f8af79cfa 100644
--- a/include/sound/soc-dapm.h
+++ b/include/sound/soc-dapm.h
@@ -585,7 +585,6 @@ struct snd_soc_dapm_context {
/* bit field */
unsigned int idle_bias_off:1; /* Use BIAS_OFF instead of STANDBY */
- unsigned int suspend_bias_off:1; /* Use BIAS_OFF in suspend if the DAPM is idle */
struct device *dev; /* from parent - for debug */ /* REMOVE ME */
struct snd_soc_component *component; /* parent component */
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index 4550bf33add2..b90d0adb7713 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -2182,13 +2182,16 @@ end:
static bool dapm_idle_bias_off(struct snd_soc_dapm_context *dapm)
{
+ struct snd_soc_component *component = snd_soc_dapm_to_component(dapm);
if (dapm->idle_bias_off)
return true;
switch (snd_power_get_state(dapm->card->snd_card)) {
case SNDRV_CTL_POWER_D3hot:
case SNDRV_CTL_POWER_D3cold:
- return dapm->suspend_bias_off;
+ if (component)
+ return component->driver->suspend_bias_off;
+ fallthrough;
default:
break;
}
@@ -4823,7 +4826,6 @@ void snd_soc_dapm_init(struct snd_soc_dapm_context *dapm,
if (component) {
dapm->dev = component->dev;
dapm->idle_bias_off = !component->driver->idle_bias_on;
- dapm->suspend_bias_off = component->driver->suspend_bias_off;
} else {
dapm->dev = card->dev;
}