Skip to content

Commit

Permalink
ASoC: Remove unneeded suspend bias managment from CODEC drivers
Browse files Browse the repository at this point in the history
The core will ensure that the device is in either STANDBY or OFF bias
before suspending, restoring the bias in the driver is unneeded. Some
drivers doing slightly more roundabout things have been left alone
for now.

Tested-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
  • Loading branch information
Mark Brown committed May 10, 2010
1 parent d0bbc24 commit 29e189c
Show file tree
Hide file tree
Showing 21 changed files with 7 additions and 31 deletions.
1 change: 0 additions & 1 deletion sound/soc/codecs/ak4535.c
Original file line number Diff line number Diff line change
Expand Up @@ -445,7 +445,6 @@ static int ak4535_resume(struct platform_device *pdev)
struct snd_soc_codec *codec = socdev->card->codec;
ak4535_sync(codec);
ak4535_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
ak4535_set_bias_level(codec, codec->suspend_bias_level);
return 0;
}

Expand Down
2 changes: 1 addition & 1 deletion sound/soc/codecs/cq93vc.c
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ static int cq93vc_resume(struct platform_device *pdev)
struct snd_soc_device *socdev = platform_get_drvdata(pdev);
struct snd_soc_codec *codec = socdev->card->codec;

cq93vc_set_bias_level(codec, codec->suspend_bias_level);
cq93vc_set_bias_level(codec, SND_SOC_BIAS_STANDBY);

return 0;
}
Expand Down
1 change: 0 additions & 1 deletion sound/soc/codecs/ssm2602.c
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@ static int ssm2602_resume(struct platform_device *pdev)
codec->hw_write(codec->control_data, data, 2);
}
ssm2602_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
ssm2602_set_bias_level(codec, codec->suspend_bias_level);
return 0;
}

Expand Down
3 changes: 0 additions & 3 deletions sound/soc/codecs/stac9766.c
Original file line number Diff line number Diff line change
Expand Up @@ -288,9 +288,6 @@ static int stac9766_codec_resume(struct platform_device *pdev)
}
stac9766_set_bias_level(codec, SND_SOC_BIAS_STANDBY);

if (codec->suspend_bias_level == SND_SOC_BIAS_ON)
stac9766_set_bias_level(codec, SND_SOC_BIAS_ON);

return 0;
}

Expand Down
1 change: 0 additions & 1 deletion sound/soc/codecs/tlv320aic23.c
Original file line number Diff line number Diff line change
Expand Up @@ -633,7 +633,6 @@ static int tlv320aic23_resume(struct platform_device *pdev)
}

tlv320aic23_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
tlv320aic23_set_bias_level(codec, codec->suspend_bias_level);

return 0;
}
Expand Down
2 changes: 1 addition & 1 deletion sound/soc/codecs/tlv320aic3x.c
Original file line number Diff line number Diff line change
Expand Up @@ -1143,7 +1143,7 @@ static int aic3x_resume(struct platform_device *pdev)
codec->hw_write(codec->control_data, data, 2);
}

aic3x_set_bias_level(codec, codec->suspend_bias_level);
aic3x_set_bias_level(codec, SND_SOC_BIAS_STANDBY);

return 0;
}
Expand Down
3 changes: 0 additions & 3 deletions sound/soc/codecs/tlv320dac33.c
Original file line number Diff line number Diff line change
Expand Up @@ -1386,9 +1386,6 @@ static int dac33_soc_resume(struct platform_device *pdev)
struct snd_soc_codec *codec = socdev->card->codec;

dac33_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
if (codec->suspend_bias_level == SND_SOC_BIAS_ON)
dac33_set_bias_level(codec, SND_SOC_BIAS_PREPARE);
dac33_set_bias_level(codec, codec->suspend_bias_level);

return 0;
}
Expand Down
1 change: 0 additions & 1 deletion sound/soc/codecs/twl4030.c
Original file line number Diff line number Diff line change
Expand Up @@ -2181,7 +2181,6 @@ static int twl4030_soc_resume(struct platform_device *pdev)
struct snd_soc_codec *codec = socdev->card->codec;

twl4030_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
twl4030_set_bias_level(codec, codec->suspend_bias_level);
return 0;
}

Expand Down
1 change: 0 additions & 1 deletion sound/soc/codecs/twl6040.c
Original file line number Diff line number Diff line change
Expand Up @@ -996,7 +996,6 @@ static int twl6040_resume(struct platform_device *pdev)
struct snd_soc_codec *codec = socdev->card->codec;

twl6040_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
twl6040_set_bias_level(codec, codec->suspend_bias_level);

return 0;
}
Expand Down
1 change: 0 additions & 1 deletion sound/soc/codecs/uda1380.c
Original file line number Diff line number Diff line change
Expand Up @@ -670,7 +670,6 @@ static int uda1380_resume(struct platform_device *pdev)
codec->hw_write(codec->control_data, data, 2);
}
uda1380_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
uda1380_set_bias_level(codec, codec->suspend_bias_level);
return 0;
}

Expand Down
3 changes: 0 additions & 3 deletions sound/soc/codecs/wm8350.c
Original file line number Diff line number Diff line change
Expand Up @@ -1336,9 +1336,6 @@ static int wm8350_resume(struct platform_device *pdev)

wm8350_set_bias_level(codec, SND_SOC_BIAS_STANDBY);

if (codec->suspend_bias_level == SND_SOC_BIAS_ON)
wm8350_set_bias_level(codec, SND_SOC_BIAS_ON);

return 0;
}

Expand Down
2 changes: 1 addition & 1 deletion sound/soc/codecs/wm8510.c
Original file line number Diff line number Diff line change
Expand Up @@ -556,7 +556,7 @@ static int wm8510_resume(struct platform_device *pdev)
codec->hw_write(codec->control_data, data, 2);
}
wm8510_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
wm8510_set_bias_level(codec, codec->suspend_bias_level);

return 0;
}

Expand Down
2 changes: 1 addition & 1 deletion sound/soc/codecs/wm8711.c
Original file line number Diff line number Diff line change
Expand Up @@ -375,7 +375,7 @@ static int wm8711_resume(struct platform_device *pdev)
codec->hw_write(codec->control_data, data, 2);
}
wm8711_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
wm8711_set_bias_level(codec, codec->suspend_bias_level);

return 0;
}

Expand Down
2 changes: 1 addition & 1 deletion sound/soc/codecs/wm8728.c
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ static int wm8728_resume(struct platform_device *pdev)
struct snd_soc_device *socdev = platform_get_drvdata(pdev);
struct snd_soc_codec *codec = socdev->card->codec;

wm8728_set_bias_level(codec, codec->suspend_bias_level);
wm8728_set_bias_level(codec, SND_SOC_BIAS_STANDBY);

return 0;
}
Expand Down
1 change: 0 additions & 1 deletion sound/soc/codecs/wm8731.c
Original file line number Diff line number Diff line change
Expand Up @@ -460,7 +460,6 @@ static int wm8731_resume(struct platform_device *pdev)
codec->hw_write(codec->control_data, data, 2);
}
wm8731_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
wm8731_set_bias_level(codec, codec->suspend_bias_level);

return 0;
}
Expand Down
1 change: 0 additions & 1 deletion sound/soc/codecs/wm8903.c
Original file line number Diff line number Diff line change
Expand Up @@ -1628,7 +1628,6 @@ static int wm8903_resume(struct platform_device *pdev)

/* Bring the codec back up to standby first to minimise pop/clicks */
wm8903_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
wm8903_set_bias_level(codec, codec->suspend_bias_level);

/* Sync back everything else */
if (tmp_cache) {
Expand Down
1 change: 0 additions & 1 deletion sound/soc/codecs/wm8940.c
Original file line number Diff line number Diff line change
Expand Up @@ -691,7 +691,6 @@ static int wm8940_resume(struct platform_device *pdev)
ret = wm8940_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
if (ret)
goto error_ret;
ret = wm8940_set_bias_level(codec, codec->suspend_bias_level);

error_ret:
return ret;
Expand Down
2 changes: 1 addition & 1 deletion sound/soc/codecs/wm8960.c
Original file line number Diff line number Diff line change
Expand Up @@ -823,7 +823,7 @@ static int wm8960_resume(struct platform_device *pdev)
}

codec->set_bias_level(codec, SND_SOC_BIAS_STANDBY);
codec->set_bias_level(codec, codec->suspend_bias_level);

return 0;
}

Expand Down
2 changes: 1 addition & 1 deletion sound/soc/codecs/wm8974.c
Original file line number Diff line number Diff line change
Expand Up @@ -608,7 +608,7 @@ static int wm8974_resume(struct platform_device *pdev)
codec->hw_write(codec->control_data, data, 2);
}
wm8974_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
wm8974_set_bias_level(codec, codec->suspend_bias_level);

return 0;
}

Expand Down
3 changes: 0 additions & 3 deletions sound/soc/codecs/wm9712.c
Original file line number Diff line number Diff line change
Expand Up @@ -631,9 +631,6 @@ static int wm9712_soc_resume(struct platform_device *pdev)
}
}

if (codec->suspend_bias_level == SND_SOC_BIAS_ON)
wm9712_set_bias_level(codec, SND_SOC_BIAS_ON);

return ret;
}

Expand Down
3 changes: 0 additions & 3 deletions sound/soc/codecs/wm9713.c
Original file line number Diff line number Diff line change
Expand Up @@ -1200,9 +1200,6 @@ static int wm9713_soc_resume(struct platform_device *pdev)
}
}

if (codec->suspend_bias_level == SND_SOC_BIAS_ON)
wm9713_set_bias_level(codec, SND_SOC_BIAS_ON);

return ret;
}

Expand Down

0 comments on commit 29e189c

Please sign in to comment.