Moved support for EAPD mute on suspend from stac92hd71xx_suspend to the generic stac92xx_suspend function.
Signed-off-by: Matthew Ranostay mranostay@embeddedalley.com ---
diff --git a/pci/hda/patch_sigmatel.c b/pci/hda/patch_sigmatel.c index e0298df..900d99f 100644 --- a/pci/hda/patch_sigmatel.c +++ b/pci/hda/patch_sigmatel.c @@ -4077,7 +4077,17 @@ static int stac92xx_resume(struct hda_codec *codec) codec->patch_ops.unsol_event(codec, STAC_HP_EVENT << 26); return 0; } -#endif + +static int stac92xx_suspend(struct hda_codec *codec, pm_message_t state) +{ + struct sigmatel_spec *spec = codec->spec; + if (spec->eapd_mask) + stac_gpio_set(codec, spec->gpio_mask, + spec->gpio_dir, spec->gpio_data & + ~spec->eapd_mask); + return 0; +} +#endif
static struct hda_codec_ops stac92xx_patch_ops = { .build_controls = stac92xx_build_controls, @@ -4087,6 +4097,7 @@ static struct hda_codec_ops stac92xx_patch_ops = { .unsol_event = stac92xx_unsol_event, #ifdef SND_HDA_NEEDS_RESUME .resume = stac92xx_resume, + .suspend = stac92xx_suspend, #endif };
@@ -4498,14 +4509,8 @@ static int stac92hd71xx_resume(struct hda_codec *codec)
static int stac92hd71xx_suspend(struct hda_codec *codec, pm_message_t state) { - struct sigmatel_spec *spec = codec->spec; - - stac92hd71xx_set_power_state(codec, AC_PWRST_D3); - if (spec->eapd_mask) - stac_gpio_set(codec, spec->gpio_mask, - spec->gpio_dir, spec->gpio_data & - ~spec->eapd_mask); - return 0; + stac92hd71xx_set_power_state(codec, AC_PWRST_D3); + return stac92xx_suspend(codec, state); };
#endif