ALSA: hda - Introduce hda_call_check_power_status() helper
authorTakashi Iwai <tiwai@suse.de>
Tue, 21 Sep 2010 07:57:06 +0000 (09:57 +0200)
committerTakashi Iwai <tiwai@suse.de>
Tue, 21 Sep 2010 08:00:03 +0000 (10:00 +0200)
Replace the explicit ifdef check and call of check_power_status ops with
a new helper function, hda_call_check_power_status().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_codec.c
sound/pci/hda/hda_codec.h
sound/pci/hda/patch_realtek.c
sound/pci/hda/patch_sigmatel.c

index e15a757..053f827 100644 (file)
@@ -2228,10 +2228,7 @@ int snd_hda_mixer_amp_switch_put(struct snd_kcontrol *kcontrol,
                change |= snd_hda_codec_amp_update(codec, nid, 1, dir, idx,
                                                   HDA_AMP_MUTE,
                                                   *valp ? 0 : HDA_AMP_MUTE);
-#ifdef CONFIG_SND_HDA_POWER_SAVE
-       if (codec->patch_ops.check_power_status)
-               codec->patch_ops.check_power_status(codec, nid);
-#endif
+       hda_call_check_power_status(codec, nid);
        snd_hda_power_down(codec);
        return change;
 }
index 62c7022..ebf8eb0 100644 (file)
@@ -989,6 +989,18 @@ int snd_hda_suspend(struct hda_bus *bus);
 int snd_hda_resume(struct hda_bus *bus);
 #endif
 
+#ifdef CONFIG_SND_HDA_POWER_SAVE
+static inline
+int hda_call_check_power_status(struct hda_codec *codec, hda_nid_t nid)
+{
+       if (codec->patch_ops.check_power_status)
+               return codec->patch_ops.check_power_status(codec, nid);
+       return 0;
+}
+#else  
+#define hda_call_check_power_status(codec, nid)                0
+#endif
+
 /*
  * get widget information
  */
index 8689216..9bedca0 100644 (file)
@@ -3729,10 +3729,7 @@ static int alc_init(struct hda_codec *codec)
        if (spec->init_hook)
                spec->init_hook(codec);
 
-#ifdef CONFIG_SND_HDA_POWER_SAVE
-       if (codec->patch_ops.check_power_status)
-               codec->patch_ops.check_power_status(codec, 0x01);
-#endif
+       hda_call_check_power_status(codec, 0x01);
        return 0;
 }
 
@@ -4128,8 +4125,7 @@ static int alc_resume(struct hda_codec *codec)
        codec->patch_ops.init(codec);
        snd_hda_codec_resume_amp(codec);
        snd_hda_codec_resume_cache(codec);
-       if (codec->patch_ops.check_power_status)
-               codec->patch_ops.check_power_status(codec, 0x01);
+       hda_call_check_power_status(codec, 0x01);
        return 0;
 }
 #endif
@@ -14703,8 +14699,7 @@ static int alc269_resume(struct hda_codec *codec)
 
        snd_hda_codec_resume_amp(codec);
        snd_hda_codec_resume_cache(codec);
-       if (codec->patch_ops.check_power_status)
-               codec->patch_ops.check_power_status(codec, 0x01);
+       hda_call_check_power_status(codec, 0x01);
        return 0;
 }
 #endif /* SND_HDA_NEEDS_RESUME */
index 6bfbc2f..a90327b 100644 (file)
@@ -4372,11 +4372,9 @@ static int stac92xx_init(struct hda_codec *codec)
                        stac_issue_unsol_event(codec, nid);
        }
 
-#ifdef CONFIG_SND_HDA_POWER_SAVE
        /* sync mute LED */
-       if (spec->gpio_led && codec->patch_ops.check_power_status)
-               codec->patch_ops.check_power_status(codec, 0x01);
-#endif 
+       if (spec->gpio_led)
+               hda_call_check_power_status(codec, 0x01);
        if (spec->dac_list)
                stac92xx_power_down(codec);
        return 0;
@@ -4958,11 +4956,9 @@ static int stac92xx_resume(struct hda_codec *codec)
                        stac_issue_unsol_event(codec,
                                               spec->autocfg.line_out_pins[0]);
        }
-#ifdef CONFIG_SND_HDA_POWER_SAVE
        /* sync mute LED */
-       if (spec->gpio_led && codec->patch_ops.check_power_status)
-               codec->patch_ops.check_power_status(codec, 0x01);
-#endif 
+       if (spec->gpio_led)
+               hda_call_check_power_status(codec, 0x01);
        return 0;
 }