Commit 9e5341b9 authored by Takashi Iwai's avatar Takashi Iwai

ALSA: hda - Introduce hda_call_check_power_status() helper

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: default avatarTakashi Iwai <tiwai@suse.de>
parent 9396d317
...@@ -2228,10 +2228,7 @@ int snd_hda_mixer_amp_switch_put(struct snd_kcontrol *kcontrol, ...@@ -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, change |= snd_hda_codec_amp_update(codec, nid, 1, dir, idx,
HDA_AMP_MUTE, HDA_AMP_MUTE,
*valp ? 0 : HDA_AMP_MUTE); *valp ? 0 : HDA_AMP_MUTE);
#ifdef CONFIG_SND_HDA_POWER_SAVE hda_call_check_power_status(codec, nid);
if (codec->patch_ops.check_power_status)
codec->patch_ops.check_power_status(codec, nid);
#endif
snd_hda_power_down(codec); snd_hda_power_down(codec);
return change; return change;
} }
......
...@@ -989,6 +989,18 @@ int snd_hda_suspend(struct hda_bus *bus); ...@@ -989,6 +989,18 @@ int snd_hda_suspend(struct hda_bus *bus);
int snd_hda_resume(struct hda_bus *bus); int snd_hda_resume(struct hda_bus *bus);
#endif #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 * get widget information
*/ */
......
...@@ -3729,10 +3729,7 @@ static int alc_init(struct hda_codec *codec) ...@@ -3729,10 +3729,7 @@ static int alc_init(struct hda_codec *codec)
if (spec->init_hook) if (spec->init_hook)
spec->init_hook(codec); spec->init_hook(codec);
#ifdef CONFIG_SND_HDA_POWER_SAVE hda_call_check_power_status(codec, 0x01);
if (codec->patch_ops.check_power_status)
codec->patch_ops.check_power_status(codec, 0x01);
#endif
return 0; return 0;
} }
...@@ -4128,8 +4125,7 @@ static int alc_resume(struct hda_codec *codec) ...@@ -4128,8 +4125,7 @@ static int alc_resume(struct hda_codec *codec)
codec->patch_ops.init(codec); codec->patch_ops.init(codec);
snd_hda_codec_resume_amp(codec); snd_hda_codec_resume_amp(codec);
snd_hda_codec_resume_cache(codec); snd_hda_codec_resume_cache(codec);
if (codec->patch_ops.check_power_status) hda_call_check_power_status(codec, 0x01);
codec->patch_ops.check_power_status(codec, 0x01);
return 0; return 0;
} }
#endif #endif
...@@ -14703,8 +14699,7 @@ static int alc269_resume(struct hda_codec *codec) ...@@ -14703,8 +14699,7 @@ static int alc269_resume(struct hda_codec *codec)
snd_hda_codec_resume_amp(codec); snd_hda_codec_resume_amp(codec);
snd_hda_codec_resume_cache(codec); snd_hda_codec_resume_cache(codec);
if (codec->patch_ops.check_power_status) hda_call_check_power_status(codec, 0x01);
codec->patch_ops.check_power_status(codec, 0x01);
return 0; return 0;
} }
#endif /* SND_HDA_NEEDS_RESUME */ #endif /* SND_HDA_NEEDS_RESUME */
......
...@@ -4372,11 +4372,9 @@ static int stac92xx_init(struct hda_codec *codec) ...@@ -4372,11 +4372,9 @@ static int stac92xx_init(struct hda_codec *codec)
stac_issue_unsol_event(codec, nid); stac_issue_unsol_event(codec, nid);
} }
#ifdef CONFIG_SND_HDA_POWER_SAVE
/* sync mute LED */ /* sync mute LED */
if (spec->gpio_led && codec->patch_ops.check_power_status) if (spec->gpio_led)
codec->patch_ops.check_power_status(codec, 0x01); hda_call_check_power_status(codec, 0x01);
#endif
if (spec->dac_list) if (spec->dac_list)
stac92xx_power_down(codec); stac92xx_power_down(codec);
return 0; return 0;
...@@ -4958,11 +4956,9 @@ static int stac92xx_resume(struct hda_codec *codec) ...@@ -4958,11 +4956,9 @@ static int stac92xx_resume(struct hda_codec *codec)
stac_issue_unsol_event(codec, stac_issue_unsol_event(codec,
spec->autocfg.line_out_pins[0]); spec->autocfg.line_out_pins[0]);
} }
#ifdef CONFIG_SND_HDA_POWER_SAVE
/* sync mute LED */ /* sync mute LED */
if (spec->gpio_led && codec->patch_ops.check_power_status) if (spec->gpio_led)
codec->patch_ops.check_power_status(codec, 0x01); hda_call_check_power_status(codec, 0x01);
#endif
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment