Merge tag 'pm+acpi-3.19-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafae...
[firefly-linux-kernel-4.4.55.git] / sound / soc / codecs / ak4535.c
index 30e297890fec43eca2b01f344efc703aba14cacd..9130d916f2f4d07badd45361de7b8e5415398986 100644 (file)
@@ -373,33 +373,9 @@ static struct snd_soc_dai_driver ak4535_dai = {
        .ops = &ak4535_dai_ops,
 };
 
-static int ak4535_suspend(struct snd_soc_codec *codec)
-{
-       ak4535_set_bias_level(codec, SND_SOC_BIAS_OFF);
-       return 0;
-}
-
 static int ak4535_resume(struct snd_soc_codec *codec)
 {
        snd_soc_cache_sync(codec);
-       ak4535_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
-       return 0;
-}
-
-static int ak4535_probe(struct snd_soc_codec *codec)
-{
-       /* power on device */
-       ak4535_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
-
-       snd_soc_add_codec_controls(codec, ak4535_snd_controls,
-                               ARRAY_SIZE(ak4535_snd_controls));
-       return 0;
-}
-
-/* power down chip */
-static int ak4535_remove(struct snd_soc_codec *codec)
-{
-       ak4535_set_bias_level(codec, SND_SOC_BIAS_OFF);
        return 0;
 }
 
@@ -416,11 +392,12 @@ static const struct regmap_config ak4535_regmap = {
 };
 
 static struct snd_soc_codec_driver soc_codec_dev_ak4535 = {
-       .probe =        ak4535_probe,
-       .remove =       ak4535_remove,
-       .suspend =      ak4535_suspend,
        .resume =       ak4535_resume,
        .set_bias_level = ak4535_set_bias_level,
+       .suspend_bias_off = true,
+
+       .controls = ak4535_snd_controls,
+       .num_controls = ARRAY_SIZE(ak4535_snd_controls),
        .dapm_widgets = ak4535_dapm_widgets,
        .num_dapm_widgets = ARRAY_SIZE(ak4535_dapm_widgets),
        .dapm_routes = ak4535_audio_map,