mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-01-16 06:31:46 +00:00
ALSA: hda - Add snd_hda_gen_free() and snd_hda_gen_check_power_status()
Just to remove duplicated codes. Also fixed EXPORT_SYMBOL() in hda_generic.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
76a19c69d9
commit
fce52a3bb1
@ -3939,36 +3939,39 @@ int snd_hda_gen_init(struct hda_codec *codec)
|
||||
hda_call_check_power_status(codec, 0x01);
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(snd_hda_gen_init);
|
||||
EXPORT_SYMBOL_HDA(snd_hda_gen_init);
|
||||
|
||||
|
||||
void snd_hda_gen_free(struct hda_codec *codec)
|
||||
{
|
||||
snd_hda_gen_spec_free(codec->spec);
|
||||
kfree(codec->spec);
|
||||
codec->spec = NULL;
|
||||
}
|
||||
EXPORT_SYMBOL_HDA(snd_hda_gen_free);
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
int snd_hda_gen_check_power_status(struct hda_codec *codec, hda_nid_t nid)
|
||||
{
|
||||
struct hda_gen_spec *spec = codec->spec;
|
||||
return snd_hda_check_amp_list_power(codec, &spec->loopback, nid);
|
||||
}
|
||||
EXPORT_SYMBOL_HDA(snd_hda_gen_check_power_status);
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* the generic codec support
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
static int generic_check_power_status(struct hda_codec *codec, hda_nid_t nid)
|
||||
{
|
||||
struct hda_gen_spec *spec = codec->spec;
|
||||
return snd_hda_check_amp_list_power(codec, &spec->loopback, nid);
|
||||
}
|
||||
#endif
|
||||
|
||||
static void generic_free(struct hda_codec *codec)
|
||||
{
|
||||
snd_hda_gen_spec_free(codec->spec);
|
||||
kfree(codec->spec);
|
||||
codec->spec = NULL;
|
||||
}
|
||||
|
||||
static const struct hda_codec_ops generic_patch_ops = {
|
||||
.build_controls = snd_hda_gen_build_controls,
|
||||
.build_pcms = snd_hda_gen_build_pcms,
|
||||
.init = snd_hda_gen_init,
|
||||
.free = generic_free,
|
||||
.free = snd_hda_gen_free,
|
||||
.unsol_event = snd_hda_jack_unsol_event,
|
||||
#ifdef CONFIG_PM
|
||||
.check_power_status = generic_check_power_status,
|
||||
.check_power_status = snd_hda_gen_check_power_status,
|
||||
#endif
|
||||
};
|
||||
|
||||
@ -3995,7 +3998,7 @@ int snd_hda_parse_generic_codec(struct hda_codec *codec)
|
||||
return 0;
|
||||
|
||||
error:
|
||||
generic_free(codec);
|
||||
snd_hda_gen_free(codec);
|
||||
return err;
|
||||
}
|
||||
EXPORT_SYMBOL(snd_hda_parse_generic_codec);
|
||||
EXPORT_SYMBOL_HDA(snd_hda_parse_generic_codec);
|
||||
|
@ -218,6 +218,7 @@ int snd_hda_gen_spec_init(struct hda_gen_spec *spec);
|
||||
void snd_hda_gen_spec_free(struct hda_gen_spec *spec);
|
||||
|
||||
int snd_hda_gen_init(struct hda_codec *codec);
|
||||
void snd_hda_gen_free(struct hda_codec *codec);
|
||||
|
||||
struct nid_path *snd_hda_get_nid_path(struct hda_codec *codec,
|
||||
hda_nid_t from_nid, hda_nid_t to_nid);
|
||||
@ -257,4 +258,8 @@ void snd_hda_gen_mic_autoswitch(struct hda_codec *codec,
|
||||
struct hda_jack_tbl *jack);
|
||||
void snd_hda_gen_update_outputs(struct hda_codec *codec);
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
int snd_hda_gen_check_power_status(struct hda_codec *codec, hda_nid_t nid);
|
||||
#endif
|
||||
|
||||
#endif /* __SOUND_HDA_GENERIC_H */
|
||||
|
@ -808,14 +808,6 @@ static int alc_init(struct hda_codec *codec)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
static int alc_check_power_status(struct hda_codec *codec, hda_nid_t nid)
|
||||
{
|
||||
struct alc_spec *spec = codec->spec;
|
||||
return snd_hda_check_amp_list_power(codec, &spec->gen.loopback, nid);
|
||||
}
|
||||
#endif
|
||||
|
||||
static inline void alc_shutup(struct hda_codec *codec)
|
||||
{
|
||||
struct alc_spec *spec = codec->spec;
|
||||
@ -876,10 +868,8 @@ static const struct hda_codec_ops alc_patch_ops = {
|
||||
.unsol_event = snd_hda_jack_unsol_event,
|
||||
#ifdef CONFIG_PM
|
||||
.resume = alc_resume,
|
||||
#endif
|
||||
#ifdef CONFIG_PM
|
||||
.suspend = alc_suspend,
|
||||
.check_power_status = alc_check_power_status,
|
||||
.check_power_status = snd_hda_gen_check_power_status,
|
||||
#endif
|
||||
.reboot_notify = alc_shutup,
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user