[alsa-devel] [PATCH] hda: EAPD mute on suspend

Matthew Ranostay mranostay at embeddedalley.com
Wed Nov 19 02:54:17 CET 2008


Moved support for EAPD mute on suspend from stac92hd71xx_suspend
to the generic stac92xx_suspend function.

Signed-off-by: Matthew Ranostay <mranostay at 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


More information about the Alsa-devel mailing list