ALSA: hda - check supported power states
authorWang Xingchao <xingchao.wang@intel.com>
Wed, 6 Jun 2012 14:02:48 +0000 (22:02 +0800)
committerTakashi Iwai <tiwai@suse.de>
Thu, 7 Jun 2012 09:39:52 +0000 (11:39 +0200)
Add function to check whether power states supported by specific
codec node.

Signed-off-by: Wang Xingchao <xingchao.wang@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_codec.c

index 41ca803..b89c8ec 100644 (file)
@@ -3505,6 +3505,22 @@ void snd_hda_codec_set_power_to_all(struct hda_codec *codec, hda_nid_t fg,
 EXPORT_SYMBOL_HDA(snd_hda_codec_set_power_to_all);
 
 /*
+ *  supported power states check
+ */
+static bool snd_hda_codec_get_supported_ps(struct hda_codec *codec, hda_nid_t fg,
+                               unsigned int power_state)
+{
+       int sup = snd_hda_param_read(codec, fg, AC_PAR_POWER_STATE);
+
+       if (sup < 0)
+               return false;
+       if (sup & power_state)
+               return true;
+       else
+               return false;
+}
+
+/*
  * set power state of the codec
  */
 static void hda_set_power_state(struct hda_codec *codec, hda_nid_t fg,